Nginx常用技巧使用实例汇总

(编辑:jimmy 日期: 2024/12/23 浏览:2)

1.多个server的优先级

以每个server区块都监听80端口为例,www.pm.com对应服务器ip地址,匹配顺序为:

①server_name和www.pm.com完全相同的区块。

②server_name为 *.pm.com 的区块。(通配符在前)

③server_name为 pm.* 的区块。(通配符在后)

④server_name使用正则表达式并能匹配上www.pm.com的区块。

⑤如果都没有匹配到,将选择 listen 80 default_server;的区块。

⑥如果没有第5项,则选择第一个配置文件的第一个server区块。

Nginx常用技巧使用实例汇总

访问域名www.pm.com就是优先选择上面的server。

如果此时以ip访问,在请求头中的Host字段的值就是192.168.1.7,无法匹配到server_name,就会按照规则匹配到下面的那个server。

Nginx常用技巧使用实例汇总

2.禁止IP访问

禁止IP访问可以防止别人恶意将域名解析到自己的IP上。

两种形式:

Nginx常用技巧使用实例汇总

注:第一种方法必须使用 default_server,如果别的地方要用default_server,可以用第二种方法的形式。

3.多用include(写好注释)

一台服务器配置多个server网站,会导致主配置文件nginx.conf非常臃肿,可读性变差,则可以多使用include方法,简化主配置文件,便于运维人员维护。

4.使用alias保护网站真实目录结构

当我们以http://www.pm.com/image/logo.png访问该图片时,按常规来说,访问者就知道了该图片的路径位置

location /image {

  root /pm_code;

}

对应的路径为 /pm_code/image/

当使用alias时:

location /image {

  alias /pm_code;

}

此时图片真实的位置是在/pm_code下,/image是一个虚拟目录,alias后面是绝对目录路径。

5.error_page的配置

模拟404报错

Nginx常用技巧使用实例汇总

当输入一个不存在的网址时,如http://www.pm.com/jfkdjfk 会跳转到/pm_code/www/404.jpg

模拟502报错

Nginx常用技巧使用实例汇总

在浏览器中输入www.pm.com,链接超时,会显示/pm_code/www/500.jpg

注意:两者之间的格式不同。500必须再写一个location。

6.try_files配置

一个简单的例子:

Nginx常用技巧使用实例汇总

当在浏览器输入www.pm.com时,会先去找400.html,如果没有再去找index.html

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。