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