nginx系列之一:nginx入門
nginx系列之二:配置檔案解讀
nginx系列之三:日誌配置
nginx系列之四:web伺服器
nginx系列之五: 負載均衡
nginx系列之六:cache服務
nginx系列之七:限流配置
nginx系列之八:使用upsync模組實現負載均衡
nginx配置檔案主要分為四個部分:
main #(負載均衡伺服器設定:主要用於負載均衡和設定一系列的後端伺服器)server繼承main,location繼承server,upstream即不會繼承其他設定也不會被繼承。server #(url匹配特點位置的設定)}}
}
nginx在執行時與具體業務功能(比如http服務或者email服務**)無關的一些引數,比如工作程序數,執行的身份等。
複製一段完整的server標籤段,到結尾。注意:要放在http的結束大括號前,也就是server標籤段放入http標籤。
更改server_name 及對應網頁的root根目錄。
檢查配置檔案語法,平滑重啟服務。
建立server_name 對應網頁的根目錄,並且建立測試檔案,如果沒有index首頁會出現403錯誤。
對客戶端server_name 的主機做host 解析或dns配置。並檢查(ping)。
瀏覽器訪問,或者在linux客戶端做host解析,用wget或curl 訪問。
http服務上支援若干虛擬主機。每個虛擬主機乙個對應的server配置項,配置項裡面包含該虛擬主機相關的配置。在提供mail服務的**時,也可以建立若干server。每個server通過監聽位址或埠來區分。
關於location匹配規則的寫法,參考死磕nginx系列–使用nginx做負載均衡
請求轉向backend定義的伺服器列表,即反向**,對應upstream負載均衡器。也可以proxy_pass http://ip:port。
proxy_redirect off;
proxy_set_header host $host
;proxy_set_header x-real-ip $remote_addr
;proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for
;
nginx 的訪問控制模組預設就會安裝,而且寫法也非常簡單,可以分別有多個allow,deny,允許或禁止某個ip或ip段訪問,依次滿足任何乙個規則就停止往下匹配。如:
location /nginx-status
我們也常用 httpd-devel 工具的 htpasswd 來為訪問的路徑設定登入密碼:
# htpasswd -c htpasswd admin
new passwd:
re-type new password:
adding password for user admin
# htpasswd htpasswd admin //修改admin密碼
# htpasswd htpasswd sean //多新增乙個認證使用者
這樣就生成了預設使用crypt加密的密碼檔案。開啟上面nginx-status的兩行注釋,重啟nginx生效。
nginx預設是不允許列出整個目錄的。如需此功能,開啟nginx.conf檔案,在location,server 或 http段中加入如下引數:
#靜態檔案,nginx自己處理,不去backend請求後端的服務
}如果response header
中包含content-encoding:gzip
則表示開啟gzip壓縮。
connection:keep-alive
content-encoding:gzip
content-type:text/html
date:wed, 29 mar 2017 10:55:54 gmt
etag:w/"58db92af-331a6"
last-modified:wed, 29 mar 2017 10:55:43 gmt
server:nginx/1.10.3
transfer-encoding:chunked
vary:accept-encoding
full example configuration
優化nginx中fastcgi引數的例項
部落格 nginx 配置之效能篇
Nginx配置檔案解讀
nginx配置引數中文說明。定義nginx執行的使用者和使用者組 user local nginx程序數,建議設定為等於cpu總核心數。worker processes 8 全域性錯誤日誌定義型別,debug info notice warn error crit error log var log...
nginx 配置檔案解讀
參考 鏈結 在微服務的體系之下,nginx正在被越來越多的專案採用作為閘道器來使用,配合lua做限流 熔斷等控制 源自 nginx 指令碼語言,用標準c語言編寫並以源 形式開放,其設計目的是為了嵌入應用程式中,從而為應用程式提供靈活的擴充套件和定製功能。參考 鏈結 參考 鏈結lua 是乙個指令碼檔案...
Nginx配置檔案解析之二
這一部分,我們看看nginx怎樣來組織http block,server block和location location的。首先設定乙個ngx http conf ctx t結構,即ctx。在分析這個結構中成員的作用時,先來看這樣乙個結構 各個module可以根據需要設定這些函式指標。這些函式有他們...