Nginx 配置資訊

2021-09-25 23:09:12 字數 4379 閱讀 9113

nginx安裝完畢後,會產生相應的安裝目錄,根據前面的安裝路徑,nginx的配置檔案路徑為/usr/local/nginx/conf,其中nginx .conf為nginx的主配置檔案。這裡重點介紹下ninx.onf這個配置檔案。

nginx配置檔案主要分成四個部分: main (全域性設定)、server (主機設定). upstream (負載均衡伺服器設定)和location ( url匹配特定位置的設定)。main 部分設定的命令將影響其他所有設定; server 部分的命令主要用於指定主機和埠; upstream命令主要用於負載均衡,設定一系列的後端伺服器; location 部分用於匹配網頁位置。這四者之間的關係式:server繼承main, location 繼承server, upstream 既不會繼承其他設定也不會被繼承。

在這四個部分當中,每個部分都包含若干命令,這些命令主要包含nginx的主模組命令事件模組命令、http核心模組命令,同時每個部分還可以使用其他http模組命令,例如htp ssl模組、htpgzip static模組和http addition模組等。

下面通過乙個nginx配置例項詳細介紹nginx.conf每個命令的含義。乙個配置好的nginx.conf 檔案內容如下:

user nobody nobody

worker_processes 4;

error_log logs/error.log notice;

pid logs/nginx.pid;

worker_rlimit_nofile 65535;

events

這段**用於對ngin的全域性屬性進行配置。每個引數的含義如下。

user:主模組命令,指定nginx的woker程序執行使用者以及使用者組,預設由nobody worker賬號執行。

worker_processes:指定nginx要開啟的程序數。

error_log:用來定義全域性錯誤日誌檔案。日誌輸出級別有debug. info . notice.warn、eror. crit 可供選擇,其中,debug輸出日誌最為詳細,而crit輸出日誌最少。

pid:用來指定程序id的儲存檔案位置。

** worker_rlimit_nofile**: 用於指定乙個nginx程序可以開啟的最多檔案描述符數目,這裡是1024,最大是65535,需要使用命令「ulimit -n 65535」在系統中進行設定。

worker_connections:用於指定乙個nginx程序可以開啟的最多檔案描述符數目,這裡是65535,需要使用"ulimit -n 65535"在系統中進行設定

events:設定nginx的工作模式及連線數上限。其中引數「use」用來指定nginx的工作模式,nginx 支援的工作模式有select、poll、 kqueue、 epoll、 rtsig 和/dev/poll。其中select和poll都是標準的工作模式,kqucue 和epoll是高效的工作模式,對於linux系統,epoll 工作模式是首選。而引數「worker conections」用於定義nginx每個程序的最大連線數,預設是1024。最大客戶端連線數由worker pocees和worker cnnetions 決定,即max_clien=worker_posesose*worker_cnnections程序的最大連線數受linux系統程序的最大開啟檔案數限制,在執行作業系統合「ulimit -n 65536」後worker connections 的設定才能生效。

gzip_vary on;gzip:用於設定開啟或者關閉gzip模組,「gzip on」 表示開啟gzip壓縮,實時壓縮輸出資料流

gzip_min_length: 設定允許壓縮的頁面最小位元組數,頁面位元組數從header頭的contenl-length中獲取。預設值是0,不管頁面多大都進行壓縮。建議設定成大於1kb的位元組數,小於1kb可能會越壓縮越大。

gzip_buffers:表示申請4個單位為16kb的內有作為壓縮結果流快取,預設是申請與原始資料大小相同的記憶體空間來儲存gzip壓縮結果。

gzip_http_version:用於設定識別http協議版本,預設是1.1,目前大部分瀏覽器已經支援gzip解壓,使用預設即可。

gzip_ comp_ level:用來指定gzip壓縮比,1表示壓縮比最小,處理速度最快; 9表示壓縮比最大,傳輸速度快,但處理速度最慢,也比較消耗cpu資源。

gzip_types: 用來指定壓縮的型別,無論是否指定,「text/html"」型別總是會被壓縮的

gzip_vary: 讓前端的快取伺服器快取經過gzip壓縮的頁面,例如用squid快取經過nginx壓縮資料

server
server:定義虛擬主機開始的關鍵字。

listem:用於指定虛擬主機的服務埠。

server_name:用來指定ip位址或網域名稱,多個網域名稱之間用空格分開。

index:用於設定訪問的預設首頁位址。

root:用於設定虛擬主機的網頁根目錄,這個目錄可以是相對路徑,也可以是絕對路徑。

charset:用於設定網頁的預設編碼格式。

access_log:用來指定此虛擬主機的訪問口誌有放路徑,最後的main用於指定訪問

location / nginxstatus
stub_status:設定為「on」表示啟用stubstatus的工作狀態統計功能。

access_log:用來指定stubstatus模組的訪問日誌檔案。

auth_basic: 是nginx的一種認證機制。

auth_basic_ user_file: 用來指定認證的密碼檔案。

由於nginx的auth_basic認證採用的是與apache相容的密碼檔案,因此需要用apache的htpasswd命令來生成密碼檔案,例如,要新增乙個 webadmin使用者,可以使用下面的方式生成密碼檔案:

/usr/local/apache/bin/htpasswd -c /usr/local/nginx/conf/htpasswd webadmin
會得到以下資訊

new password:
在輸人密碼之後,系統會要求再次輸入密碼。確認密碼正確之後成功新增使用者。

要檢視nginx的執行狀態可以輸人http://ip/ nginxstatus,再次輸入剛剛建立的使用者名稱和密碼,可以看到以下資訊:

active connections: 1

server accepts handled requests

393411 393411 393799

reading:0 writing:1 waiting:0

其中,「active connections」表示當前活躍的連線數,第三行的三個數字表示nginx當前總共處理了393 411個連線,成功建立393 411次握手,總共處理了393 799個請求。最後一行的「reading"表示nginx讀取到客戶端header資訊數,「writing」錶小nginx返回給客戶端的header資訊數,「waiting」表示nginx已經處理完,正在等候下一次請求命令時的駐留連線數。

最後,設定虛擬主機的錯誤資訊返回頁面,**如下:

error page     404   /404. html/;

error_page 500 502 503 504 /50x.html;

location = /50x.html

}}

通過error page命令可以定製各種錯誤資訊的返回頁面。在預設情況下,nginx 會在主目錄的html目錄中查詢指定的返回頁面。需要特別注意的是,這些錯誤資訊的返回頁面的大小定要超過512kb,否則會被ie瀏覽器替換為ie預設的錯誤頁面。

配置資訊 類

常用的配置包括 資料庫連線,系統配置 檔案分布之類 應用配置 業務邏輯資料 其它 為方便程式獲取配置資訊,設計此類 獲取配置資訊類 class sconfig private static database 快取資料庫配置資訊 private static system 快取系統配置資訊 priva...

Hystrix 配置資訊

在hystrix中我們一般是用的預設配置,有些時候需要調整一些引數來獲取更好的處理效能 配置官方文件 這些引數可以應用於hystrix的thread和semaphore策略 collapser properties 相關引數 requests per second at peak when heal...

Hystrix 配置資訊

在hystrix中我們一般是用的預設配置,有些時候需要調整一些引數來獲取更好的處理效能 配置官方文件 這些引數可以應用於hystrix的thread和semaphore策略 執行緒數預設值10適用於大部分情況 有時可以設定得更小 如果需要設定得更大,那有個基本得公式可以follow requests...