Nginx 架構說明 配置使用實踐

2021-10-04 19:28:40 字數 2403 閱讀 4405

nginx 安裝:

nginx 架構說明:

nginx實踐:

nginx 架構圖:

架構說明:

1)nginx啟動時,會生  不處理網路請求,主要負責排程工作程序,也就是圖示的三項:載入配置、啟動工作程序及非停公升級。所以,nginx啟動以後,檢視作業系統的程序列表,我們就能看到至少有兩個nginx程序。

2)伺服器實際處理網路請求及響應的是工作程序(worker),在類unix系統上,nginx可以配置多個worker,而每個worker程序都可以同時處理數以千計的網路請求。

3)模組化設計。nginx的worker,包括核心和功能性模組,核心模組負責維持乙個執行迴圈(run-loop),執行網路請求處理的不同階段的模組功能,如網路讀寫、儲存讀寫、內容傳輸、外出過濾,以及將請求發往上游伺服器等。而其**的模組化設計,也使得我們可以根據需要對功能模組進行適當的選擇和修改,編譯成具有特定功能的伺服器。

4)事件驅動、非同步及非阻塞,可以說是nginx得以獲得高併發、高效能的關鍵因素,同時也得益於對linux、solaris及類bsd等作業系統核心中事件通知及i/o效能增強功能的採用,如kqueue、epoll及event ports。

nginx 核心模組:

1、配置檔案的語法格式:

先來看乙個簡單的nginx 配置

worker_processes  1;

events

配置塊:server

=表示把uri作為字串,以便與引數中的uri做完全匹配。

/ 基於uri目錄匹配

~表示正則匹配uri時是字母大小寫敏感的。

~*表示正則匹配uri時忽略字母大小寫問題。

^~表示正則匹配uri時只需要其前半部分與uri引數匹配即可。

匹配優先規則:

精確匹配優先 =

正則匹配優先 ^~

字首最大匹配優先。

配置靠前優化

(4)root 指定站點根目錄

可配置在 server與location中,基於root路徑+url中路徑去尋找指定檔案。

(5)alias 指定站點別名

只能配置location 中。基於alias 路徑+ url移除location  字首後的路徑來尋找檔案。

如下示例:

location /v1 {

alias  /www/old_site;

index  index.html index.htm;

#防問規則如下

最終定址:/www/old_site/a.thml

動靜分離演示:

建立靜態站點

配置 location /static

配置 ~* \.(gif|png|css|js)$

基於目錄動靜分離

server {

listen 80;

server_name *.luban.com;

root /usr/www/luban;

location / {

index luban.html;

location /static {

alias /usr/www/static;

基於正則動靜分離

防盜煉配置演示:

# 加入至指定location 即可實現

valid_referers none blocked *.luban.com;

if ($invalid_referer) {

return 403;

location /download {

建立ip黑名單

#封禁指定ip

deny 192.168.0.1;

allow 192.168.0.1;

#開放指定ip 段

allow 192.168.0.0/24;

#封禁所有

deny    all;

#開放所有

allow    all;

# 建立黑名單檔案

echo 'deny 192.168.0.132;' >> balck.ip

#http 配置塊中引入 黑名單檔案

include       black.ip;

nginx架構說明(三)

2.1 nginx啟動時,會生 不處理網路請求,主要負責排程工作程序,也就是圖示的三項 載入配置 啟動工作程序及非停公升級。所以,nginx啟動以後,檢視作業系統的程序列表,我們就能看到至少有兩個nginx程序。2.2 伺服器實際處理網路請求及響應的是工作程序 worker 在類unix系統上,ng...

nginx 配置說明

定義nginx執行的使用者和使用者組 user www www nginx程序數,建議設定為等於cpu總核心數。worker processes 8 全域性錯誤日誌定義型別,debug info notice warn error crit error log ar loginx error.log...

nginx配置說明

依賴 zlib,pcre,openssl configure prefix usr local nginx with openssl usr include 啟用ssl with pcre usr include pcre 啟用正規表示式 with http stub status module 安...