location配置
1. 语法规则(按优先级)
= 表示精确匹配,优先级最高
^~ 表示uri以某个常规字符串开头,用于匹配url路径(而且不对url做编码处理,例如请求/static/20%/aa,可以被规则^~ /static/ /aa 匹配到(注意是空格))
~ 表示区分大小写的正则匹配
~* 表示不区分大小写的正则匹配
!~ 表示区分大小写不匹配的正则
!~* 表示不区分大小写不匹配的正则
/ 表示通用匹配,任何请求都会匹配到
root&alias文件路径配置
root/alias 是指定文件路径的两种方式,主要区别就是怎么解析location后面的uri
例如:
访问 http://localhost/appImg/abc.jpg
root:
location ^~ /appImg/{ root /home/nginx; }
这个location相当于访问服务器上的文件路径: /home/nginx/appImg/abc.jpg
alias:
location ^~ /appImg/{ alias /home/nginx/; }
这个location相当于访问服务器上的文件目录:/home/nginx/abc.jpg(即alias不会使用location后面配置的路径)
而且alias 指定的目录名后面一定要加上 "/"
linux 上修改了nginx.conf 怎么重新加载配置文件生效
步骤如下
先利用/usr/local/nginx/sbin/nginx -t测试配置文件修改是否正常
/usr/local/nginx/sbin/nginx -s reload重新加载
nginx 更改配置文件后需要重启生效
1、更改配置重启nginx: kill -HUP 主进程号或进程号文件路径 或者使用 cd /usr/local/nginx/sbin ./nginx -s reload 2、判断配置文件是否正确: nginx -t -c /usr/local/nginx/conf/nginx.conf 或者 cd /usr/local/nginx/sbin ./nginx -t