nginx.conf 配置文件
在 nginx 啟動時(shí),會加載 /etc/nginx/nginx.conf 配置文件。
打開 nginx.conf 后可以看到,在 Virtual Host Configs 部分下,加載了兩個(gè)部分:
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
可以看出:
- nginx 會從 /etc/nginx/conf.d 中加載以 .conf 結(jié)尾的配置文件
- nginx 會從 /etc/nginx/sites-enabled 中加載任何名稱的配置文件
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.
通常情況下,網(wǎng)站管理員會將此文件的鏈接從 sites-enabled 中刪除,并將其作為 sites-available 中其他文件的參考,nginx packaging team 將持續(xù)對此文件進(jìn)行更新。
也就是說,文件夾下的 default 為網(wǎng)站配置文件的參考,由于在 nginx 更新時(shí),default 會一同被更新以展示配置文件的變化,所以在配置網(wǎng)站時(shí),不應(yīng)該直接修改此文件,需要復(fù)制為新文件,再進(jìn)行修改。
而 sites-available 則是用于存放網(wǎng)站的配置文件,意為可用的網(wǎng)站列表,用于在需要時(shí)鏈接到 sites-enabled 中作為需要啟用的網(wǎng)站。
sites-enabled 文件夾
sites-enabled 中則只擁有 sites-available 文件夾下 default 的軟鏈接,結(jié)合前面得出:
- sites-enabled 下的文件,會作為 nginx.conf 的一部分加載
- sites-enabled 下的用于存放 sites-available 中文件的軟連接
sites-enabled 意為已開啟的網(wǎng)站,將 sites-available 中的配置文件鏈接到此處,以使配置文件被 nginx 加載。
后記
sites-available 與 sites-enabled 使我們能夠進(jìn)行模塊化配置,當(dāng)我們希望增加新網(wǎng)站時(shí),我們可以在 sites-available 中創(chuàng)建新配置文件;當(dāng)我們需要關(guān)閉某個(gè)站點(diǎn)時(shí),我們可以在 sites-enabled 中將鏈接移除,這在某種程度是提高了 nginx 的管理效率。
參考鏈接:How To Configure The Nginx Web Server On a Virtual Private Server | DigitalOcean