nginx指令說明
worker_processes
配置nginx的工作程序數,一般為cpu總核心數或者總核心數的兩倍
events
控制nginx處理連線的方式
nginx 處理 http 請求的主要配置塊,大多數配置都在這裡面進行
worker_connections
配置 nginx 允許單個程序併發連線的最大請求數
include
用於引入配置檔案
default_type
設定預設檔案型別
sendfile
預設值為 on ,表示開啟高效檔案傳輸模式
keepalive_timeout
設定長連線超時時間(單位:秒)
server
nginx 中主機的配置塊,可用於配置多個虛擬主機
listem
監聽埠,預設監聽 80 埠
server_name
設定主機網域名稱;除了可以精準配置方式外,還可以利用萬用字元(*)與正規表示式設定網域名稱,實現網域名稱的泛解析 。如:server name *.test.com
location
server 中對應目錄級別的控制塊 ,可以有多個
root
設定主機站點根目錄位址,使用反向**的時候可以用作設定快取目錄等
index
指定預設索引檔案(首頁)
error_page
自定義錯誤頁面
error_log
存放錯誤日誌(引數1:存在路徑;引數2:日誌等級);debug、info、notice、warn、error 和 crit ,日誌記錄詳細程度依次遞減, debug 記錄的內容最詳細, crit 記錄的內容最簡潔。
error_log 指令可以在main、http、server 、location 塊中設定,配置方式相同。
關閉日誌: error_log /dev/null ;
autoindex
開啟目錄列表功能;在 http塊中,表示用於對所有站點都有效 ;在server 塊中,表示對指定站點有效;在location塊中,表示對某個目錄起作用。
autoindex_exact_size
設定精準顯示檔案大小:on/off
autoindex_localtime
檔案最後修改時間格式:on/off
proxy_set_header
在將客戶端請求傳送給後端伺服器之前,更改來自客戶端的請求頭資訊
proxy_connect_timeout
配置 nginx 與後端**伺服器嘗試建立連線的超時時間
proxy_read_timeout
配置 nginx 向後端伺服器組發出 read 請求後,等待響應的超時時間
proxy_send_timeout
配置 nginx 向後端伺服器組發出 write 請求後,等待響應的超時時間
proxy_redirect
用於修改後端伺服器返回的響應頭中的 location 和 refresh
upstream web_server
負載均衡配置模組
proxy_store
用於開啟本地快取
proxy_store_access
設定快取的讀寫規則
proxy_temp_path
設定反向**時接收的資料臨時儲存檔案的目錄
負載均衡引數
引數值weight
權值,權值越高則被分配到的概率越大;server 192.168. 78.128 weight=1 max_fails=1 fail_timeout=2 ;
max_fails
允許請求失敗的次數,預設為i。當超過最大次數時,返回 proxy_ next_ upstream 指令定義的錯誤
fail_timeout
在經歷了max_fails次失敗後,暫停服務的時間 。 且在實際應用中 max_fails 一般與 fail_ timeout 一起使用
backup
預留的備份機器
down
表示當前的 server 暫時不參與負載均衡
location 可以同時定義多個,當 乙個配置檔案中同時出現多個 location 時,普通location 之間遵循「最大字首匹配」原則 。 通俗地講就是,匹配度最高的 location 將會執行。
當最大字首 location 與正則 location 同時存在時,如果正則 location 匹配成功,則不會執行最大字首 location
字首說明(優先順序1為最高)
/最大字首匹配(優先順序:4)
=根據其後的指定模式進行精準匹配 。例:在訪問時要與 /html/aaa/index.html 完全一致才會執行其後的指令塊(優先順序:1)
~正則匹配:使用正規表示式完成 locat ion 的匹配,區分大小寫(優先順序:3)
~*正則匹配:使用正規表示式完成 location 的匹配,不區分大小寫(優先順序:3)
^~非正則匹配:不使用正規表示式,完成以指定模式開頭的 location 匹配(優先順序:2)
@用於定義乙個 location 塊,且該塊不能被外部客戶端所訪問,只能被nginx 內部配置指令所訪問
user nginx nginx; #啟動nginx工作程序的使用者和組,用root肯定是不安全的
#設定工作程序數量,也可以使用「auto」,表示自動分配,一般分配為等於cpu核心數。
worker_processes 1;
#將cpu核心與nginx工作程序繫結,防止工作程序在不同的cpu核心上飄動。可以減少cpu對程序的資源分配與**和記憶體管理等。提公升nginx的效能。
#八核cpu可以使用八位的二進位制位表示,如果是四核心也可以用四位,如:worker_cpu_affinity 0001 0010 0100 1000;
#也可以直接使用auto,如:worker_cpu_affinity auto;
worker_cpu_affinity 00000001 00000010 00000100 00001000;
#工作程序的最大連線數,包括了nginx的所有連線(客戶端和**伺服器)
#且nginx的實際併發連線數不能超過linux系統級別的最大開啟檔案數量限制
worker_rlimit_nofile 100000;
events
upstream test
proxy_set_header host $host; #第1個引數用於表示欄位名稱,第2個引數表示字段值
proxy_set_header x-real- ip $remote_addr;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
set $limit_rate 10k; #限制響應速度為10kb,防止訪問大檔案占用頻寬
}#配置websocket\tcp**,不能和http請求寫到一起,否則post請求可能會失效
location /chat/signalr
location /img/
#顯示目錄結構
location /
#顯示nginx訪問狀態資訊和統計,編譯時開啟:–with-http_stub_status_module
location /nginx_status
location =/js
location ~\.html$
location ~^/aaa/.*\ .html$
error_page 502 504 500 /error.html; #當http響應碼為502 504 500時跳轉到error.html
error_page 404=200 /404.html ; #將404響應碼改為200,並跳轉至404.html
location=/50x.html
#權重配置負載均衡
upstream web_server
#ip_hash配置負載均衡
upstream web_server
#還可以利用第三方模組實現,這裡不多做講解
}allow 192.168.78.128; #允許此ip位址訪問
deny all; #禁止所有客戶端訪問
error_log logs/error.log notice #錯誤日誌存放,日誌等級為notice
}
1、使用配置檔案啟動nginx : nginx -c /usr/local/nginx/conf/nginx.conf
2、重啟服務: service nginx restart
3、 快速停止或關閉nginx:nginx -s stop
4、 正常停止或關閉nginx:nginx -s quit
5、 配置檔案修改重裝載命令:nginx -s reload
6、檢查配置檔案是否正確: nginx -t
7、 檢視nginx資訊(可用來檢視nginx編譯引數,重新編譯nginx的時候需要使用):nginx -v
nginx常用配置
官檔 nginx的負載均衡主要依賴這個模組 ngx http upstream module 1 安裝好nginx 192.168.1.111 2 修改egrep v nginx.conf.default nginx.conf 對其進行修改 訪問server name的時候,會找listen埠,所有...
Nginx常用配置
允許跨域 add header access control allow origin 配置 的使用者訪問認證 生成密碼檔案 htpasswd b c sitepasswd pigt password 配置訪問授權 auth basic input you user name and passwor...
nginx常用配置
其主要分為幾個模組 全域性快從開始到events塊之間的一部分內容,其作用域為全域性作用域 events塊 主要負責nginx伺服器與使用者的網路連線 常用設定 是否開啟多work process下的網路連線進行序列化 師傅允許接收多個網路連線 選取哪種驅動模型連線請求 process 最大連線數 ...