• linux---集群架构初探(26)Nginx常用技巧


    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区块。

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

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

    2.禁止IP访问

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

    两种形式:

    注:第一种方法必须使用 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报错

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

    模拟502报错

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

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

    5.try_files配置

    一个简单的例子:

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

  • 相关阅读:
    驴的故事
    leetcode125. Valid Palindrome
    C#处理Excel的帮助类
    用SVN进行团队开发协作生命周期详解
    .net反编译原理
    科学使用Log4View2查看日志
    NLog日志框架使用探究-2
    NLog日志框架使用探究-1
    从零开始制作 NuGet 源代码包(全面支持 .NET Core / .NET Framework / WPF 项目)
    十分钟学会 Markdown 基本语法
  • 原文地址:https://www.cnblogs.com/1016391912pm/p/13199854.html
Copyright © 2020-2023  润新知