nginx 配置

nginx 的配置文件在 <font style="color:rgb(37, 41, 51);">/etc/nginx/nginx.conf</font> 里,它默认还引入了<font style="color:rgb(37, 41, 51);">/etc/nginx/conf.d</font> 下的子配置文件。(也就是说可以在这个子配置中写具体配置)

  • 默认 html 都放在 <font style="color:rgb(37, 41, 51);">/usr/share/nginx/html</font> 下。
  • <font style="color:rgb(37, 41, 51);">docker cp <源地址> <目标地址></font> 来把容器内文件复制到宿主机来修改。

location 配置无效有几种情况 原帖

  1. 确保你修改的 nginx.conf 是正确的配置文件,⚠️ 可能存在多个配置文件
  2. 修改配置文件要**<u>nginx -s reload</u>**重启 nginx
  3. 自己的 location 确定有资源

alias 和 root 的区别

alias 是重命名。而 root 是路径的拼接

若用 alias 的话,则访问/img/目录里面的文件时,ningx 会自动去/var/www/image/目录找文件,比如:http://localhost/img/a.png 则是对应到服务器下的/var/www/image/a.png

1
2
3
location /img/ {
alias /var/www/image/;
}

若用 root 的话,则访问/img/目录下的文件时,nginx 会去/var/www/image/img/目录下找文件,比如:**http://localhost/img/a.png **则是对应服务器下的/var/www/image/img/a.png

1
2
3
location /img/ {
root /var/www/image;
}

有 4 种 location 语法:

  • location /aaa 根据前缀匹配
  • location <font style="color:rgb(18, 18, 18);">^~</font> /aaa 根据前缀匹配,优先级更高
  • location <font style="color:rgb(18, 18, 18);">=</font> /aaa 精准匹配
  • location <font style="color:rgb(18, 18, 18);">~</font> /aaa/.*html 正则匹配
  • location <font style="color:rgb(18, 18, 18);">~*</font> /aaa/.*html 正则匹配,而且不区分大小写

优先级是 精确匹配(<font style="color:rgb(18, 18, 18);">=</font>) > 高优先级前缀匹配(<font style="color:rgb(18, 18, 18);">^~</font>) > 正则匹配(<font style="color:rgb(18, 18, 18);">~ ~*</font>) > <font style="color:rgb(18, 18, 18);">普通前缀匹配</font>


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!