導航:首頁 > 編程語言 > nginx配置php虛擬主機

nginx配置php虛擬主機

發布時間:2024-12-02 10:46:59

⑴ nginx配置文件詳解

一、安裝Nginx
在安裝Nginx之前,需確保系統已經安裝了gcc、 openssl-devel、 pcre-devel和zlib-devel軟體庫。

其中, _with-http_stub_status_mole 可以用來啟用 Nginx 的 NginxStatus 功能,以監控 Nginx 的運行狀態。

二、Nginx的配置文件結構
Nginx的配置文件nginx.conf位於其安裝目錄的conf目錄下。

nginx.conf由多個塊組成,最外面的塊是main,main包含Events和HTTP,HTTP包含upstream和多個Server,Server又包含多個location。

main(全局設置)、server(主機設置)、upstream(負載均衡伺服器設置)和 location(URL匹配特定位置的設置)。

1、main塊設置的指令將影響其他所有設置。

2、server塊的指令主要用於指定主機和埠。

3、upstream指令主要用於負載均衡,設置一系列的後端伺服器。

4、location塊用於匹配網頁位置。

這四者之間的關系式:server繼承main,location繼承server,upstream既不會繼承其他設置也不會被繼承。

在這四個部分當中,每個部分都包含若干指令,這些指令主要包含Nginx的主模塊指令、事件模塊指令、HTTP核心模塊指令,同時每個部分還可以使用其他HTTP模塊指令,例如Http SSL模塊、HttpGzip Static模塊和Http Addition模塊等。

三、Nginx的全局配置

events事件指令是設定Nginx的工作模式及連接數上限:

use是個事件模塊指令,用來指定Nginx的工作模式。Nginx支持的工作模式有select、poll、kqueue、epoll、rtsig和/dev/poll。

其中select和poll都是標準的工作模式,kqueue和epoll是高效的工作模式,不同的是epoll用在Linux平台上,而kqueue用在BSD系統中。對於Linux系統,epoll工作模式是首選worker_connections也是個事件模塊指令,用於定義Nginx每個進程的最大連接數,默認是1024。

最大客戶端連接數由worker_processes和worker_connections決定,即Max_client=worker_processes*worker_connections。

在作為反向代理時,max_clients變為:max_clients = worker_processes * worker_connections/4。

進程的最大連接數受Linux系統進程的最大打開文件數限制,在執行操作系統命令「ulimit -n 65536」後worker_connections的設置才能生效。

四、下面配置Nginx的HttpGzip模塊。這個模塊支持在線實時壓縮輸出數據流。

通過/opt/nginx/sbin/nginx -V命令可以查看安裝Nginx時的編譯選項,由輸出可知,已經安裝了HttpGzip模塊。

五、負載均衡配置

下面設定負載均衡的伺服器列表:

upstream是Nginx的HTTP Upstream模塊,這個模塊通過一個簡單的調度演算法來實現客戶端IP到後端伺服器的負載均衡。

在上面的設定中,通過upstream指令指定了一個負載均衡器的名稱cs.com。這個名稱可以任意指定,在後面需要的地方直接調用即可,Nginx的負載均衡模塊目前支持4種調度演算法。

六、server虛擬主機配置

下面介紹對虛擬主機的配置。

建議將對虛擬主機進行配置的內容寫進另外一個文件,然後通過include指令包含進來,這樣更便於維護和管理。

server標志定義虛擬主機開始,listen用於指定虛擬主機的服務埠,server_name用來指定IP地址或者域名,多個域名之間用空格分 開。index用於設定訪問的默認首頁地址,root指令用於指定虛擬主機的網頁根目錄,這個目錄可以是相對路徑,也可以是絕對路徑。

Charset用於 設置網頁的默認編碼格式。access_log用來指定此虛擬主機的訪問日誌存放路徑,最後的main用於指定訪問日誌的輸出格式。

七、location URL匹配配置

URL地址匹配是進行Nginx配置中最靈活的部分。 location支持正則表達式匹配,也支持條件判斷匹配,用戶可以通過location指令實現Nginx對動、靜態網頁進行過濾處理。使用location URL匹配配置還可以實現反向代理,用於實現php動態解析或者負載負載均衡。

以下這段設置是通過location指令來對網頁URL進行分析處理,所有擴展名以.gif、.jpg、.jpeg、.png、.bmp、.swf結尾的靜態文件都交給nginx處理,而expires用來指定靜態文件的過期時間,這里是30天。

八、StubStatus模塊配置

StubStatus模塊能夠獲取Nginx自上次啟動以來的工作狀態,此模塊非核心模塊,需要在Nginx編譯安裝時手工指定才能使用此功能。

stub_status設置為「on」表示啟用StubStatus的工作狀態統計功能。access_log 用來指定StubStatus模塊的訪問日誌文件。auth_basic是Nginx的一種認證機制。

auth_basic_user_file用來指定認證的密碼文件,由於Nginx的auth_basic認證採用的是與Apache兼容的密碼文件,因此需要用Apache的htpasswd命令來生成密碼文件。

然後輸入兩次密碼後確認之後添加用戶成功。

要查看Nginx的運行狀態,可以輸入http://ip/NginxStatus,輸入創建的用戶名和密碼就可以看到Nginx的運行狀態。

Active connections表示當前活躍的連接數,第三行的三個數字表示 Nginx當前總共處理了34561個連接, 成功創建次握手, 總共處理了354399個請求。

最後一行的Reading表示Nginx讀取到客戶端Header信息數, Writing表示Nginx返回給客戶端的Header信息數,「Waiting」表示Nginx已經處理完,正在等候下一次請求指令時的駐留連接數。

在最後這段設置中,設置了虛擬主機的錯誤信息返回頁面,通過error_page指令可以定製各種錯誤信息的返回頁面。在默認情況下,Nginx會在主目錄的html目錄中查找指定的返回頁面。

特別需要注意的是,這些錯誤信息的返回頁面大小一定要超過512K,否者會被ie瀏覽器替換為ie默認的錯誤頁面。

⑵ Nginx基礎入門002

追求夢想,不在於擁有,而在於為之不懈的努力。

Nginx配置8類模塊處理Web伺服器,每類對應ngx_http_core_mole:分發請求、配置虛擬主機、處理重定向、定義文件路徑、分配資源、網路連接設置、MIME類型設置以及限制客戶端請求。

虛擬主機通過server塊實現,設置監聽埠、主機名稱,server_name與HTTP報文中的HOST欄位匹配,使用server_names_hash_bucket_size和server_names_hash_max_size優化查找性能,同時支持重定向處理。

location配置用於匹配用戶請求的URI,選擇相應的處理方式,通常將通用的/作為最後一條,以便匹配所有請求。

文件路徑定義包括root和alias方式,root方式將請求路徑映射到物理文件系統路徑,alias方式用於指定非默認位置的資源路徑。推薦使用root方式。

訪問首頁時,Nginx嘗試訪問特定文件,如path/index.php,如果未找到,會嘗試訪問其他文件,以此類推。

HTTP返回碼重定向允許更改錯誤碼,允許遞歸使用error_page,try_files功能按順序訪問多個路徑,直到找到可訪問的。

內存及磁碟資源分配包括HTTP包體的存儲方式,嘗試內存緩沖存儲,管理HTTP頭部和包體的緩沖大小,以及指定存儲目錄和連接池大小。

網路連接設置涉及超時時間配置、TCP重置和linger關閉機制,控制keepalive連接的最大請求數和是否啟用TCP_NODELAY選項。

MIME類型設置定義文件擴展名與MIME type的映射關系,指定默認MIME type,優化查找效率。

客戶端請求限制包括通過HTTP方法名限制、Content-Length欄位值限制、請求速度限制以及響應長度開始限速,靈活控制伺服器性能和資源使用。

閱讀全文

與nginx配置php虛擬主機相關的資料

熱點內容
無縫鋼管計算公式app哪裡有 瀏覽:576
linux什麼是管道 瀏覽:321
php列印信息 瀏覽:766
java8jdbc 瀏覽:806
命令改變u盤格式 瀏覽:316
溯源碼讓您更加放心產品安全 瀏覽:574
梁未標注加密區要加密嗎 瀏覽:805
編程貓it大咖說直播 瀏覽:399
神龍雲伺服器哪個好 瀏覽:852
javamathrandom范圍 瀏覽:419
紅樹林pdf 瀏覽:283
計算機圖論演算法 瀏覽:350
應屆生程序員面試 瀏覽:27
工作壓力大怎麼解壓護士 瀏覽:738
禪道linux一鍵安裝 瀏覽:405
gpib無法寫入命令 瀏覽:389
鏈接文章怎麼保存到文件夾 瀏覽:882
為什麼安卓手機藍牙不能用 瀏覽:694
數理統計與數據分析pdf 瀏覽:453
光遇伺服器連接失敗怎麼解決8月25號 瀏覽:917