# Nginx静态资源的配置指令
# listen指令
# 语法 listen address[:port][default_server]
# 如:
listen 127.0.0.1:8000; # 监听指定ip和端口
listen 127.0.0.1:8000 default_server; # 监听指定ip和端口,并设置为默认连接。默认连接就是在服务列表中没有找到服务的时候默认访问该服务
listen 127.0.0.1; # 监听指定ip下的所有端口
listen 8000; # 监听指定端口下的连接
listen *:8000; # 也是监听指定端口下的连接 # 补充知识点:/etc/hosts域名解析文件配置
# ,当本地浏览器访问某个域名的时候,首先会从/etc/hosts文件中查找,找不到再去dns中去找
# 所以你可以直接配置本地的域名
vim /etc/hosts
127.0.0.1 www.baidu.com # server_name指令
# 语法 server_name name1 name2 name3 ……
# name的值可以是一个ip地址,也可以是域名,多个name之间需要用空格隔开
# 位置:只能在server中配置server_name
# 如:
server_name www.abc.cn www.a.cn # server_name的配置方式有三种
# 1.精准配置
server_name www.abc.cn www.a.cn
# 2.通配符配置,通配符不能放在中部位置的,只能放在首尾位置
server_name *.abc.cn www.a.*
# 3.正则表达式配置
# 以正则配置server_name的时候必须以~开头
# 不明白正则怎么用的可以在该网站学习:https://www.runoob.com/regexp/regexp-syntax.html
# 这里的(\w+)小括号的内容你可以在下文通过$1的方式获取它的值
# 比如:输入的是www.abc123.com,那么$1的值就是abc123,你可以在日志中引用
# 如果有多个()按顺序$1 $2 $3 ……
server_name ~^www.\.(\w+)\.com; # server_name 的匹配执行顺序
# 也就是当一个一个请求能匹配多个server_name的时候,到底执行哪个server_name
# 优先是精准匹配
# 然后是通配符在开头的server_name
# 再然后是通配符再结尾的server_name
# 最后是正则表达式的server_name
# 都没找到的话就返回defualt_server 也就是not found server。 # location指令
# 语法:localtion [= 、 ~ 、 ~* 、 ^~ 、 @] uri{...}
location /abc{
default_type text/plain;
return 200 'access success';
}
# =等号是精准匹配,
# www.abc.com/abc 和 www.abc.com/abc?a=123 都可以访问
# www.abc.com/abc/ 和 www.abc.com/abcd 都不能访问
location =/abc{
default_type text/plain;
return 200 'access success';
}
# ~和~*表示当前uri包含了正则表达式,它们之间的区别是~区分大小写,~*不区分大小写
# 能匹配 www.abc.com/abc1 www.abc.com/abcdef
# 不能匹配www.abc.com/abc
location ~*^/abc\w${
default_type text/plain;
return 200 'access success';
} # ^~,注意它是不包含正则表达式的前面,功能和不加符号的一直,唯一不同的是,如果模式匹配,那么就停止搜索其他模式了。
# location的搜索模式是一直往后搜索,然后取最后一个匹配的location
# ^~的存在就是,搜索到该location并且匹配成功,就直接停止向后搜索
location ^~/abc{
default_type text/plain;
return 200 'access success';
} # root、alias都是设置请求资源的目录
# root语法:root path;
# 默认值:html
# alias语法:alias path;
# 默认值:无
# 当访问 localhost/images/mv.png时
# root情况下访问的文件路劲是 html/images/mv.png
# alias情况下范文的文件路径是 html/mv.png
# 得出结论是:
# root处理结果是:root路径+location路径
# alias处理结果是: alias路径替换location路径 location /images {
root html;
}
location /images {
alias html;
} # index指令 配置访问目录下默认访问的文件。可以配置多个文件,空格隔开
# 它会从左往右依次去找,直到找到文件为止
# 语法:index file ...;
index index.html index.hml # error_page 指令,用来设置网站的错误页面
# 语法:error_page code ... [=[response]] uri
# code是返回状态码
# 位置 http、server、location
# 可以直接指定具体跳转的地址
server {
error_page 404 http://www.itcast.cn
}
# 可以指定重定向地址
server {
error_page 404 50.html;
error_page 500 502 503 504 /50x.html;
location =/50x.html{
root html;
}
}
# @语法
server {
error_page 404 @jump_to_error;
error_page 500 502 503 504 /50x.html;
location @jump_to_error{
root html;
}
}
# 可选项 =[response]的作用的是,将响应码重新修改
# 也就是location中return的响应码
# 这里本应该返回404响应码,当加上=200的时候它就返回200了,而不反悔404
server {
error_page 404 =200 @jump_to_error;
error_page 500 502 503 504 /50x.html;
location @jump_to_error{
root html;
}
}

Nginx listen、server_name、location的配置的更多相关文章

  1. nginx入门与实战 安装 启动 配置nginx Nginx状态信息(status)配置 正向代理 反向代理 nginx语法之location详解

    nginx入门与实战 网站服务 想必我们大多数人都是通过访问网站而开始接触互联网的吧.我们平时访问的网站服务 就是 Web 网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务. Web ...

  2. Nginx高级应用之Location Url 配置

    原文地址:https://www.linuxidc.com/Linux/2017-03/141910.htm 基本配置 为了探究nginx的url配置规则,当然需要安装nginx.我使用了vagran ...

  3. 简明 Nginx Location Url 配置笔记

    基本配置 为了探究nginx的url配置规则,当然需要安装nginx.我使用了vagrant创建了一个虚拟环境的ubuntu,通过apt-get安装nginx.这样就不会污染mac的软件环境.通过vr ...

  4. Nginx教程(四) Location配置与ReWrite语法

    Nginx教程(四) Location配置与ReWrite语法 1 Location语法规则 1.1 Location规则 语法规则: location [=|~|~*|^~] /uri/ {- } ...

  5. Nginx Location指令配置及常用全局变量

    ./configure的含义 在实践安装nginx的时候,不知道./configure是什么意思,这里特地记录一下. 在linux中./代表当前目录,属于相对路径../代表上一级目录,属于相对路径/代 ...

  6. Nginx教程(四) Location配置与ReWrite语法 (转)

    Nginx教程(四) Location配置与ReWrite语法 1 Location语法规则 1.1 Location规则 语法规则: location [=|~|~*|^~] /uri/ {… } ...

  7. nginx location在配置中的优先级

    location表达式类型 ~ 表示执行一个正则匹配,区分大小写~* 表示执行一个正则匹配,不区分大小写^~ 表示普通字符匹配.使用前缀匹配.如果匹配成功,则不再匹配其他location.= 进行普通 ...

  8. NGINX location 在配置中的优先级

    location表达式类型 ~ 表示执行一个正则匹配,区分大小写 ~* 表示执行一个正则匹配,不区分大小写 ^~ 表示普通字符匹配.使用前缀匹配.如果匹配成功,则不再匹配其他location. = 进 ...

  9. (转)nginx location在配置中的优先级

    原文:https://www.bo56.com/nginx-location%E5%9C%A8%E9%85%8D%E7%BD%AE%E4%B8%AD%E7%9A%84%E4%BC%98%E5%85%8 ...

  10. HappyAA服务器部署笔记1(nginx+tomcat的安装与配置)

    这是本人的服务器部署笔记.文章名称叫"部署笔记1"的原因是之后我对这个进行了改进之后,会有"部署笔记2","部署笔记3"...循序渐进,估计 ...

随机推荐

  1. 亿信BI——维度转换组件使用

    功能模块: 用户点击"维度转换"模块进行维度转换操作,维度转换页面的顶部导航栏包括基本属性和转换设置两部分. 基础属性: 在基本属性模块部分,编号.标题和类型是必填项且系统已经默认 ...

  2. MySql笔记Ⅰ

    MySql part 1: 数据库概念 数据库:(DataBase, 简称DB):数据库中的数据按一定的数据模型组织.描述和储存,具有较小的冗余度.较高的数据独立性和易扩展性,并可为各种 用户共享 数 ...

  3. 前端 关于请求地址时出现乱码, 出现%E2%80%8B的问题

    做项目时,添加了新的一个接口,习惯性地复制了接口下来.然后测试发现 请求时自动添加 了几个%E2%80%8B这种乱码. 问题原因: 我输出请求地址时也是正确的,是因为复制过来的接口地址会有零宽空格 解 ...

  4. [CSP-S 2019 Day2]Emiya家今天的饭

    思路: 这种题目就考我们首先想到一个性质.这题其实容易想到:超限的菜最多只有一个,再加上这题有容斥那味,就枚举超限的菜然后dp就做完了. 推式子能力还是不行,要看题解. 式子还需要一个优化,就是废除冗 ...

  5. DS18B20数字温度计 (一) 电气特性, 供电和接线方式

    目录 DS18B20数字温度计 (一) 电气特性, 供电和接线方式 DS18B20数字温度计 (二) 测温, ROM和CRC校验 DS18B20数字温度计 (三) 1-WIRE总线ROM搜索算法 DS ...

  6. Charles如何抓取https请求-移动端+PC端

    Charles安装完成,默认只能抓取到http请求,如果查看https请求,会显示unkonw或其它之类的响应.所以需要先进行一些配置,才能抓取到完整的https请求信息.下面针对PC端和手机端抓包的 ...

  7. Typora图片与阿里云OSS图床的结合之旅

    图床? 专门用于存放图片,并允许用户通过独一的外链进行特定图片资源的访问 为什么是阿里云OSS(Object Storage Service) 码云开源需要审核,已经不能作为免费的图床使用(2022年 ...

  8. 『忘了再学』Shell流程控制 — 36、for循环介绍

    目录 1.for循环介绍 2.示例 语法一举例: 语法二举例: 3.for循环总结 4.练习:批量解压缩脚本 方式一:批量解压缩 方式二:批量解压缩 1.for循环介绍 for循环是固定循环,也就是在 ...

  9. vscode常用插件快捷键

    俗话说,工欲善其事必先利其器,我们码农的器是什么尼?没错,就是我们亲爱的IDE,前端开发者最爱的编辑器应该是vscode了吧.但是我们要怎么去锋利它尼?不外乎就是熟悉它的使用方法.快捷键以及第三方的插 ...

  10. 你是否有一个梦想?用JavaScript[vue.js、react.js......]开发一款自定义配置视频播放器

    前言沉寂了一周了,打算把这几天的结果呈现给大家.这几天抽空就一直在搞一个自定义视频播放器,为什么会有如此想法?是因为之前看一些学习视频网站时,看到它们做的视频播放器非常Nice!于是,就打算抽空开发一 ...