Nginx常用配置

2021-10-13 03:12:35 字數 2921 閱讀 4760

nginx (engine x)是乙個輕量級的高效能的http和反向**web伺服器,同時也提供了電子郵件imap/pop3/smtp服務,在bsd-like協議下發行,其特點是占有記憶體少,併發能力強,事實上nginx的併發能力在同型別的網頁伺服器中表現較好。

nginx配置檔案的分塊下,基本就分為以下幾塊:

main # 全域性設定

}

main區域是乙個全域性的設定。

user www www; # user 來指定nginx worker程序執行使用者以及使用者組,預設由nobody賬號執行。 

worker_processes auto; # worker_processes 來指定了nginx要開啟的子程序數。每個nginx程序平均耗費10m~12m記憶體。根據經驗,一般指定1個程序就足夠了,如果是多核cpu,建議指定和cpu的數量一樣的程序數即可。如果這裡寫2,那麼就會開啟2個子程序,總共3個程序。

error_log /usr/local/var/log/nginx/error.log notice; # error_log 來定義全域性錯誤日誌檔案。日誌輸出級別有debug、info、notice、warn、error、crit可供選擇,其中,debug輸出日誌最為最詳細,而crit輸出日誌最少。

pid /usr/local/var/run/nginx/nginx.pid; # pid 來指定程序id的儲存檔案位置。

worker_rlimit_nofile 1024; # worker_rlimit_nofile 來指定乙個nginx程序可以開啟的最多檔案描述符數目。

include /www/server/vhost/nginx/*.conf; # 將部分配置直接拆分出來,分成不同的配置檔案。

events模組通常用來指定nginx的工作模式和工作模式及連線數上限。

events
http模組可以說是最核心的模組了,它負責http伺服器相關屬性的配置,它裡面的serverupstream子模組。

}server模組是http的子模組,它用來定義乙個虛擬主機,這些配置為在該server下具有全域性性例如root,當然也可以在location中重新定義root

server 下面定義的區分開來。

index index.php index.html index.htm; # 全域性定義訪問的預設首頁位址。

charset utf-8; # 設定網頁的預設編碼格式。

access_log logs/host.access.log main; # 用來指定此虛擬主機的訪問日誌存放路徑,輸出格式為main。

error_log logs/host.error.log error; # 錯誤日誌存放路徑,輸出格式為error。

error_page 404 /404.html; # 狀態碼為404時的時候的網頁位址,還可定義500,502之類的

....

}

locationserver的子模組,是用來定位的,定位url與解析url,所以它也提供了強大的正則匹配功能,也支援條件判斷匹配,使用者可以通過location指令實現nginx對動、靜態網頁進行過濾處理。

location的匹配規則和順序:

# 簡單例子,匹配所有請求

location /

# 使用正則匹配的例子 

# 匹配.php結尾的請求

location ~ \.php$

# 反向**的例子 

# 匹配到/api開頭的路由時候,將請求**到但是通常不是直接填寫位址,而是設定乙個upstream配置

location /api

# 匹配到攜帶example字串的請求 將請求**到其他host並攜帶path

location ~ /example/

}# vue-router、react-router等路由框架要開啟history模式可以選擇的nginx配置的例子

location /

upstream可以為後端伺服器提供簡單的負載均衡。

nginx的負載均衡模組目前支援4種排程演算法,其中fairurl_hash需要載入其他軟體包:

http upstream模組中,可以通過server指令指定後端伺服器的ip位址和埠,同時還可以設定每個後端伺服器在負載均衡排程中的狀態,常用的狀態有:

upstream backend_name 

server

}

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