Nginx的虛擬伺服器配置詳情

2021-12-30 03:18:37 字數 1594 閱讀 4404

任何由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 組...