基本结构

  1. main # 全局配置,对全局生效
  2. ├── events # 配置影响 nginx 服务器或与用户的网络连接
  3. ├── http # 配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置
  4. ├── upstream # 配置后端服务器具体地址,负载均衡配置不可或缺的部分
  5. ├── server # 配置虚拟主机的相关参数,一个 http 块中可以有多个 server 块
  6. ├── server
  7. ├── location # server 块可以包含多个 location 块,location 指令用于匹配 uri
  8. ├── location
  9. └── ...
  10. └── ...
  11. └── ...

主要配置含义

  • main:nginx 的全局配置,对全局生效。
  • events:配置影响 nginx 服务器或与用户的网络连接。
  • http:可以嵌套多个 server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。
  • server:配置虚拟主机的相关参数,一个 http 中可以有多个server。
  • location:配置请求的路由,以及各种页面的处理情况。
  • upstream:配置后端服务器具体地址,负载均衡配置不可或缺的部分。

    nginx.conf 配置文件的语法规则;

  1. 配置文件由指令与指令块构成
  2. 每条指令以 “;” 分号结尾,指令与参数间以空格符号分隔
  3. 指令块以 {} 大括号将多条指令组织在一起
  4. include 语句允许组合多个配置文件以提升可维护性
  5. 通过 # 符号添加注释,提高可读性
  6. 通过 $ 符号使用变量
  7. 部分指令的参数支持正则表达式,例如常用的 location 指令

    常用命令

    这里列举几个常用的命令:
    1. nginx -s reload # 向主进程发送信号,重新加载配置文件,热重启
    2. nginx -s reopen # 重启 Nginx
    3. nginx -s stop # 快速关闭
    4. nginx -s quit # 等待工作进程处理完成后关闭
    5. nginx -T # 查看当前 Nginx 最终的配置
    6. nginx -t -c <配置路径> # 检查配置是否有问题,如果已经在配置目录,则不需要 -c
    7. 复制代码
    以上命令通过 nginx -h 就可以查看到,还有其它不常用这里未列出。
    Linux 系统应用管理工具 systemd 关于 nginx 的常用命令:
    1. systemctl start nginx # 启动 Nginx
    2. systemctl stop nginx # 停止 Nginx
    3. systemctl restart nginx # 重启 Nginx
    4. systemctl reload nginx # 重新加载 Nginx,用于修改配置后
    5. systemctl enable nginx # 设置开机启动 Nginx
    6. systemctl disable nginx # 关闭开机启动 Nginx
    7. systemctl status nginx # 查看 Nginx 运行状态