任何由server開始的部分都被稱作虛擬伺服器部分。它描述的是一組根據server_name指令邏輯分割的資源,這些虛擬伺服器響應http請求,因此他們都包含在http部分之中。
乙個虛擬伺服器由listen和server_name指令組合定義,listen指令定乙個ip位址/埠組合或者是unix域套接字路徑。
listen address
listen address:port
listen port
listen unix:path
一 default_server
default_server引數如果存在,將導致伺服器成為指定位址的預設伺服器:埠對。如果所有的指令都沒有default_server引數,那麼第乙個帶有位址的伺服器:埠對將是這一對的預設伺服器。
二 backlog
在listen()呼叫中設定backlog引數,它限制等待連線佇列的最大長度。預設情況下,在freebsd、dragonfly bsd和macos上,backlog設定為- 1,在其他平台上設定為511。
三 rcvbuf 和 sndbuf
rcvbuf:設定監聽套接字的接收緩衝區大小(so_rcvbuf選項)。
sndbuf: 設定監聽套接字的傳送緩衝區大小(so_rcvbuf選項)。
四 deferred
指示在linux上使用延遲accept()()(tcp_deferred _accept套接字選項),僅支援linux
五 ssl
表示這個埠接收https連線
六 so_keepalive
為tcp監聽套接字配置keepalive
七 server_name
虛擬主機的網域名稱,可以配置多個,比如
server_name www.a.com www.b.com
對於沒有設定host頭字段的請求將會匹配該server來處理
另外server_name也接受萬用字元作為server_name
# 替代部分子網域名稱
*.example.com
# 替代頂級子網域名稱
www.example.*
還可以在網域名稱加上~表示使用正規表示式
server_name ~^www\.example\.com$
server_naem ~www(\d+).example\.(com)$
對於乙個特定的請求,確定哪些虛擬主機提供該請求的服務時,應該遵循下面的邏輯
# 匹配ip位址和listen指令指定的埠
# 將host頭欄位作為乙個字串匹配server_name指令
# 將host頭字段與server_name指令值字串開始部分做匹配
# 將host頭字段與server_name指令值字串結尾部分做匹配
# 將host頭字段與server_name指令值進行正則匹配
# 如果所有host頭欄位匹配失敗,那麼將會轉向listen指令標記的default_server
# 如果所有的host頭匹配失敗,而且沒有default_server,那麼將會轉向第乙個server的listen指令
nginx配置HTTPS伺服器過程詳情
1.首先確保機器上安裝了openssl和openssl devel pip install openssl pip install openssl devel 2.建立伺服器私鑰,命令會讓你輸入乙個口令 openssl genrsa des3 out server.key 1024 生成私鑰 第一步...
Nginx的虛擬伺服器網域名稱配置
虛擬伺服器名 server name 是通過指令server name來指定的。在 nginx是如何處理request的?一節中,我們講到nginx分兩步來匹配過來的request請求 1.選擇server 2.選擇location 在第1步中,其實也分兩步 1 匹配port 2 匹配server ...
Nginx 伺服器配置
我是body內容 我是html注釋內容 在瀏覽器上看到當前頁面的顯示內容兩種方式 1,直接拖動該html檔案到瀏覽器中 2,將該檔案部署到伺服器 bs結構中的關鍵服務軟體,可以執行各種程式,提供各種資源資訊,例如 tomcat nginx,jboss 中,通過瀏覽器位址列訪問該檔案 apache 組...