Nginx常用配置與命令

2021-09-11 17:13:18 字數 4519 閱讀 5982

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 最大連線數 ...