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
伺服器相關屬性的配置,它裡面的server
和upstream
子模組。
}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之類的
....
}
location
是server
的子模組,是用來定位的,定位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
種排程演算法,其中fair
和url_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 最大連線數 ...