# nginx注意事项

4 min read
Table of Contents

如果在windows下,config配置文件里的转义:

# 错误写法:
server {
listen 80;
server_name www;
location /testreport/ {
alias C:\jmeter_cases\jmeter_reports\ant_reports\Test-test.html;
index index.html index.htm;
}
}
# 正确写法(盘符路径记得加引号,然后要注意反斜杠改成正常的斜杠):
server {
listen 80;
server_name www;
location /testreport/ {
alias "C:/jmeter_cases/jmeter_reports/ant_reports/Test-test.html";
index index.html index.htm;
}
}

https://blog.csdn.net/freedomlulux/article/details/108070117


💬 回复: Jun (2021-11-05)

location下的root和alias区别:

location /img/ {
alias /var/www/image/;
}
#若按照上述配置的话,则访问/img/目录里面的文件时,ningx会自动去/var/www/image/目录找文件
location /img/ {
root /var/www/image;
}
#若按照这种配置的话,则访问/img/目录下的文件时,nginx会去/var/www/image/img/目录下找文件。

alias是一个目录别名的定义,root则是最上层目录的定义。
一直以为root是指的/var/www/image目录下,应该 是 /var/www/image/img/
还有一个重要的区别是alias后面必须要用“/”结束,否则会找不到文件的。。。而root则可有可无~~


💬 回复: Jun (2021-11-05)

location下的index含义:

location / {
root /var/www/;
index index.htm index.html;
}

这样,当用户请求 / 地址时,
Nginx 就会自动在 root 配置指令指定的文件系统目录下依次寻找 index.htm 和index.html 这两个文件,
如果 index.htm 文件存在,则直接发起“内部跳转”到 /index.htm 这个新的地址,
而如果 index.htm 文件不存在,则继续检查 index.html 是否存在。如果存在,同样发起“内部跳转”到/index.html,
如果 index.html 文件仍然不存在,则放弃处理权给 content 阶段的下一个模块


💬 回复: Jun (2021-11-08)

Jun
一个server下可以有多个location,也是从上到下匹配


💬 回复: Jun (2021-11-08)

server_name的作用

server name 为虚拟服务器的识别路径。因此不同的域名会通过请求头中的HOST字段,匹配到特定的server块,转发到对应的应用服务器中去。

在开始处理一个http请求时,nginx会取出header头中的host,与nginx.conf中每个server的server_name进行匹配,以此决定到底由哪一个server块来处理这个请求。

server_name与host匹配优先级如下:
1完全匹配
2通配符在前的 如*.test.com
3在后的 如www.test.*
4正则匹配
如果都不匹配
1、优先选择listen配置项后有default或default_server的,如【listen 80 default;】
2、找到匹配listen端口的第一个server块
(server_name里,完全匹配的优先级高于通配符匹配)
(server_name里,通配符在前的优先级高于在后的)
(server_name里,通配符在后的优先级高于正则匹配的server)
(server_name里,正则匹配虽然优先级较低,但是仍然高于default;在都匹配不到的情况下,default开始起作用)
(default只能作用于匹配不到的情况下,而且nginx.conf不可以配多个default,否则nginx重启时候会提示错误)
(在server_name都匹配失败的前提下,并且listen没有default属性,那么端口号和server的顺序将发挥作用,它会去找端口匹配的位置最靠前的server。)
https://www.cnblogs.com/wangzhisdu/p/7839109.html


💬 回复: Jun (2021-11-15)

试试回复老帖子


Comments