前言
很多小伙伴在第一次安装nginx时,会发现配置文件夹/etc/nginx 中除了必要的配置文件外,还会存在两种特殊的文件夹,即available文件夹与enabled文件夹; 这两种文件夹可以分为两类,一类为主管网站的sites-available 文件夹、sites-enabled 文件夹,另一类为主管模块的modules-available 文件夹与modules-enabled 文件夹。
而打开配置文件nginx.conf 后,也会发现它们的踪迹:
include /etc/nginx/modules-enabled/*.conf;
http {
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
由此我们可以看出,这些文件夹与我们的配置息息相关。 接下来,我将以sites-available 与sites-enabled 为例,为大家详细介绍这两种文件的作用
sites-available文件夹
字如其名,可见该文件夹是用来放置和网站配置有关的文件,打开文件夹,可以看见一个default文件,里面写的是一些默认的网站配置:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
}
由此我们可以推断出,sites-available是专门用来存放网站配置的文件夹,它意为可用的网站列表,用于在需要时符号链接到sites-enabled文件夹中作为需要启用的网站
sites-enabled文件夹
sites-enabled里面只有sites-available文件夹下的符号链接,只有sites-enabled文件夹下的文件才会被nginx.conf配置文件所加载 sites-enabled意为已启用的网站,通常是将sites-available文件下的配置文件符号链接到此处,已使配置文件被nginx所加载
总结
modules-available文件夹与modules-enabled文件夹也是如此,因此不管是sites还是modules,其文件系统可以总结如下
- available文件夹用来存放可以使用的网站或者模块的配置文件
- enabled文件夹用来存放启用的网站或者模块的配置文件,里面只有available文件夹中文件的符号链接
正是这种高效的点点滴滴,才凸显出了nginx的方便管理性。当我们增加新的网站或者模块时,我们只需要在available中编写相应的配置文件并链接到enabled中即可; 而如果打算关闭某个网站或者模块,只需要删除enabled下面的符号链接即可,配置文件无需删除,下次启用时就不需要再重新编写配置文件了。
|