Nginx 能夠配置反向代理、負載均勻等, 其默認配置文件名爲 nginx.conf 。nginx
通常存放於 /你的安裝目錄/nginx/conf 下服務器
Nginx 加載配置信息,能夠把全部的配置都放進 nginx.conf 文件,也能夠根據站點分別放到不一樣的文件,而後在 nginx.conf 文件中,使用 include 命令把配置文件包含進去。網站
nginx 的配置是當即生效的,也就是說,不須要關閉、重啓 nginx ,修改配置文件並保存後,配置當即生效。spa
自定義配置文件能夠任意命名。代理
如下爲配置一個反向代理的簡單例子,適用於ASP.NET Core、Docker等,內容比較簡單,單純屬於反向代理。目的是在網外可以訪問到服務器的資源。code
注:ASP.NET Core 默認使用的是 Kestrel ,使其實現跨平臺,須要反向代理才能在外網進行訪問。server
配置文本:blog
server {
listen 端口; #多個域名使用英文逗號分隔 80,81
server_name ip或域名; #多個域名使用英文逗號分隔開
location / {
proxy_pass http://ip:端口; #例 http://localhost:8111
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
只須要更改3個地方。ip
每一個配置,使用一個 server資源
server
{
}
注意:
若是你想配置多端口多域名訪問,則須要多個的 server{} 。
Nginx 中,同一個 server{} 配置,裏面的端口是共用的。端口、域名屬於交叉關係。(下圖有演示)
假設
server {
listen 80,81,82,83; #多個域名使用英文逗號分隔 80,81
server_name a.com,b.com,c.com,d.com; #多個域名使用英文逗號分隔開
...
...
}
那麼,實際訪問,公有 4*4 種狀況。
a.com 80,81,82,83
b.com 80,81,82,83
c.com 80,81,82,83
d.com 80,81,82,83
- - - - -
你能夠直接代碼內容放進到nginx.conf文件中,也能夠放到其餘可訪問目錄,而後使用
//1 一個文件
include /www/server/panel/vhost/nginx/test1.conf;
//2 該目錄下全部的.conf文件
include /www/server/panel/vhost/nginx/*.conf;
//也能夠是其餘文本文件,這裏再也不贅述
寶塔面板是很是強大的管理器,不過在Linux中,其只支持 自動爲 PHP添加網站。
若是你的服務器安裝了寶塔面板,利用寶塔安裝 nginx 等組件,那麼那些組件的安裝目錄是不一樣於默認安裝目錄的的。
使用寶塔面板安裝的nginx,
nginx.conf 位置 /www/server/nginx/conf
單獨文件位置 /www/server/panel/vhost/nginx
寶塔爲每一個網站,建立一個配置文件,存在 /www/server/panel/vhost/nginx 目錄中。
用戶手動添加配置的話,打開這個目錄,而後新建一個文件,把代碼粘貼進去便可。