Nginx配置详解 过apt安装完成Nginx之后,会在 /etc/nginx/ 目录下生成一系列的配置文件。
目录路径如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 # /etc/nginx . ├── conf.d/ ├── fastcgi.conf ├── fastcgi_params ├── koi-utf ├── koi-win ├── mime.types ├── modules-available ├── modules-enabled │ ├── 50-mod-http-image-filter.conf -> /usr/share/nginx/modules-available/mod-http-image-filter.conf │ ├── 50-mod-http-xslt-filter.conf -> /usr/share/nginx/modules-available/mod-http-xslt-filter.conf │ ├── 50-mod-mail.conf -> /usr/share/nginx/modules-available/mod-mail.conf │ └── 50-mod-stream.conf -> /usr/share/nginx/modules-available/mod-stream.conf ├── nginx.conf ├── proxy_params ├── scgi_params ├── sites-available │ └── default ├── sites-enabled │ ├── default -> /etc/nginx/sites-available/default ├── snippets │ ├── fastcgi-php.conf │ └── snakeoil.conf ├── uwsgi_params └── win-utf 6 directories, 18 files
nginx.conf 在 nginx 启动时,会加载 /etc/nginx/nginx.conf 配置文件。 打开 nginx.conf 后可以看到,加载的文件如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 user www-data; # 启动该nginx进程的用户 worker_processes auto; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf; # nginx模块配置路径 events { worker_connections 768; # 每个work_process 允许最多连接数 # multi_accept on; # 默认为off,worker process一次只能接收一个新到达的网络连接。 on,可以做到同时接收多个新到达的网络连接 } http { # Basic Settings 基础设置 ... # SSL Settings SSL 设置 ... # Logging Settings 日志设置 ... # Gzip Settings gzip设置 ... # 此处往上配置为全局统一配置,建议是不修改,通过 include 中的文件进行修改 ## # Virtual Host Configs # 网站对应配置 ## include /etc/nginx/conf.d/*.conf; # 配置项的位置和文件 include /etc/nginx/sites-enabled/*; # 网站配置文件 }
conf.d conf.d 文件夹下的文件会由 nginx.conf 文件通过 Virtual Host Configs 下面的配的路径进行引入,文件后缀需要为 .conf 。
sites-available 文件夹 sites-available 中拥有名为 default 的配置文件,打开即可在该文件开头看到 nginx packaging team 的说明:
In most cases, administrators will remove this file from sites-enabled/ and leave it as reference inside of sites-available where it will continue to be updated by the nginx packaging team.
通常情况下,网站管理员会将此文件的链接从 sites-enabled 中删除,并将其作为 sites-available 中其他文件的参考,nginx packaging team 将持续对此文件进行更新。
也就是说,文件夹下的 default 为网站配置文件的参考,由于在 nginx 更新时,default 会一同被更新以展示配置文件的变化,所以在配置网站时,不应该直接修改此文件,需要复制为新文件,再进行修改。
而 sites-available 则是用于存放网站的配置文件,意为可用的网站列表,用于在需要时链接到 sites-enabled 中作为需要启用的网站。
sites-enabled 文件夹 sites-enabled 中则只拥有 sites-available 文件夹下 default 的软链接,结合前面得出:
sites-enabled 下的文件,会作为 nginx.conf 的一部分加载 sites-enabled 下的用于存放 sites-available 中文件的软连接 sites-enabled 意为已开启的网站,将 sites-available 中的配置文件链接到此处,以使配置文件被 nginx 加载。
https://www.digitalocean.com/community/tutorials/how-to-configure-the-nginx-web-server-on-a-virtual-private-server