四、配置文件

郁子大约 3 分钟约 927 字笔记Nginx尚硅谷

(一)位置

  • /usr/local/nginx/conf/nginx.conf
  • 由三部分组成
cd /usr/local/nginx/
ls
cd /conf
vim nginx.conf

(二)第一部分:全局块

  • 从配置文件开始到 events 块之间的内容
  • 主要会设置一些 影响 Nginx 服务器整体运行 的配置指令

1.主要包括

  • 配置运行 Nginx 服务器的用户(组)
  • 允许生成的 worker express
  • 进程 PID 存放路径
  • 日志存放路径和类型
  • 配置文件的引入等

2.示例

  • 这是 Nginx 服务器并发处理服务的关键配置
  • worker_processes 值越大,可以支持的并发处理量也越多,但是会受到硬件、软件等设备的制约
worker_processes 1;

(三)第二部分:events 块

  • events 块涉及的指令主要 影响 Nginx 服务器与用户的网络连接

1.常用的设置

  • 是否开启对多 work process 下的网络连接进行序列化
  • 是否允许同时接收多个网络连接
  • 选取哪种事件驱动模型来处理连接请求
  • 每个 work process 可以同时支持的最大连接数等

2.示例

  • 这表示每个 work process 支持的最大连接数是 1024
  • 这部分的配置对 Nginx 的性能影响较大,在实际中应该灵活配置
events {
  worker_connections 1024;
}

(四)第三部分:http 块

  • 这是 Nginx 服务器配置中最频繁的部分
  • 代理、缓存和日志定义等绝大多数功能和第三方模块的配置 都在这里
  • 需要注意的是: http 块也可以包括 http 全局块server 块
http {
  include			mime.types;
  default_type	application/octet-stream;

  sendfile		on;

  server {
      listen		80;
      server_name	localhost;

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

      error_page	500 502 503 504 /50x.html;
      location = /50x.html {
        root	html;
      }
  }
}

1.http 全局块

  • http 全局块配置的指令包括
    • 文件引入
    • MIME-TYPE 定义
    • 日志自定义
    • 连接超时时间
    • 单连接请求数上限等

2.server 块

  • 这和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本
  • 每个 http 块可以包括多个 server 块,而 每个 server 块就相当于一个虚拟主机
  • 每个 server 块也分为全局 server 块,以及可以同时包含多个 location

1)全局 server

  • 最常见的配置
    • 本虚拟主机的 监听配置
    • 本虚拟主机的 名称或 IP 配置

2)location

  • 一个 server 块可以配置多个 location
  • 这块的主要作用是基于 Nginx 服务器接收到的请求字符串(例如 server_name/uri-string ),对虚拟主机名称(也可以是 IP 别名)之外的字符串(例如 /uri-string )进行匹配,对特定的请求进行处理
  • 地址定向、数据缓存和应答控制等功能,还有许多第三方模块的配置也在这里进行
location [ = | ~ | ~* | ^~] uri {

}
模式字符串含义
=用于不含正则表达式的 uri
要求请求字符串与 uri 严格匹配
如果匹配成功,就停止继续向下搜索并立即处理该请求
~用于表示 uri 包含正则表达式
区分大小写
~*用于表示 uri 包含正则表达式
不区分大小写
^~用于不含正则表达式的 uri
要求 Nginx 服务器找到标识 uri 和请求字符串匹配度最高的 location 后,立即使用此 location 处理请求
不再使用 location 块中的正则 uri 和请求字符串做匹配

注意

如果 uri 包含正则表达式,则必须要有 ~ 或者 ~* 标识

上次编辑于: