Nginx 配置文件注意點
- 端口配置
監聽的端口不能被其他的進程佔用,比如8080端口如果已經被tomcat佔用的話,Nginx在監聽的過程中就會出現如下錯誤:
所以在配置監聽的端口時,要檢查端口的佔用情況 配置文件匹配的優先順序
當在/etc/nginx/conf.d/目錄下有多個Nginx配置文件,且監聽的端口號相同時,會優先選擇配置了匹配的server_name且值不爲localhost的配置文件。如果server_name只有爲localhost的配置文件和沒有配置server_name的配置文件,則會選擇localhost的配置文件。如果監聽的端口號及server_name配置的值都一樣,則優先選擇該目錄下第一個配置文件。- 例子1
在/etc/nginx/conf.d/中有三個配置文件,依次爲a.conf,b.conf,c.conf
a.conf 配置:
b.conf 配置
c.conf 配置
假設ip地址爲108.142.159.59,在瀏覽器中通過ip訪問nginx的80端口,則將會讀取b.conf的配置文件,其他兩個監聽了相同端口的配置忽略 - 例子2
在/etc/nginx/conf.d/中有三個配置文件,依次爲a.conf,b.conf
a.conf 配置:
b.conf 配置
假設ip地址爲108.142.159.59,在瀏覽器中通過ip訪問nginx的80端口,則將會讀取a.conf的配置文件,另一個監聽了相同端口的配置忽略 - 例子3
在/etc/nginx/conf.d/中有兩個配置文件,依次爲a.conf,b.conf
a.conf 配置:
b.conf 配置:
假設ip地址爲108.142.159.59,在瀏覽器中通過ip訪問nginx的80端口,則將會根據現實順序讀取a.conf的配置文件,另一個監聽了相同端口的配置忽略
補充:如果配置文件中沒有server_name進行監聽,就會任意匹配一個,比如:
在/etc/nginx/conf.d/中有一個配置文件爲a.conf
假設ip地址爲108.142.159.59,在瀏覽器中通過ip訪問nginx的80端口,因爲沒有匹配,所以會自動匹配
a.conf。- 例子1
不過這只是自身配置過程中發現的注意點,可能存在問題,有的話歡迎指正