Nginx從入門到精通,這篇你絕對不能錯過

2021-10-04 13:29:52 字數 4192 閱讀 5210

動靜分離

nginx常用命令

nginx 原理與優化引數配置

nginx安裝(linux)

配置檔案描述

應用場景

nginx 以事件驅動的方式編寫,所以有非常好的效能,同時也是乙個非常高效的反向**、負載平衡。

cgi 協議:cgi即通用閘道器介面(common gateway inte***ce),是外部應用程式(cgi程式)與web伺服器之間的介面標準,是在cgi程式和web伺服器之間傳遞資訊的規程。

#work 繫結 cpu

(4 work 繫結 4cpu)。

worker_cpu_affinity 0001

0010

0100

1000

#work 繫結 cpu (

4 work 繫結 8cpu 中的 4 個) 。

worker_cpu_affinity 0000001

00000010

00000100

00001000

安裝nginx源

yum install -y nginx
#user nobody; #配置使用者或者組,預設為nobody 

worker_processes 1

; #允許生成的程序數,預設為1

#error_log logs/error.log; #制定日誌路徑,級別。這個設定可以放入全域性塊,

#http塊,server塊,級別以此為:debug|info|notice|warn|error|crit|alert|emerg

#error_log logs/error.log notice;

#error_log logs/error.log info;

#pid logs/nginx.pid; #指定nginx程序執行檔案存放位址

accept_mutex on; #設定網路連線序列化,防止驚群現象發生,預設為on 

multi_accept on; #設定乙個程序是否同時接受多個網路連線,預設為off

#use epoll; #事件驅動模型,select|poll|kqueue|epoll|resig|

/dev/poll|eventport

worker_connections 1024

; #最大連線數,預設為1024

(早期是512

)

max_client

max_clients = worker_processes * worker_connections 

由http客戶端發起乙個請求,建立乙個到伺服器指定埠(預設是80埠)的tcp連線。http伺服器則在那個埠監聽客戶端的請求。一旦收到請求,

伺服器會向客戶端返回乙個狀態,比如"http/1.1 200 ok",以及返回的內容,如請求的文 件、錯誤訊息、或者其它資訊。同一時刻nginx在處理客

戶端傳送的http請求應該只是乙個connection,由此可知理論上作 為http web伺服器角色的nginx能夠處理的最大連線數就是最大客戶端連線數。

max_clients = worker_processes * worker_connections/

4 如果作為反向**,因為瀏覽器缺省會開啟2個連線到server,而且nginx還會使用fds(file descriptor)從同乙個連線池建立連線到upstream後

端。則最大連線數的計算公式需要除4

#配置nginx支援哪些副檔名與檔案型別對映表。在conf/mime.types檢視支援哪些型別 

include mime.types;

#預設檔案型別(流)型別,支援很多檔案、、js/css等

#自定義格式

;access_log log/access.log myformat; #combined為日誌格式的預設值

#優化引數 允許sendfile方式傳輸檔案,開啟高校效傳輸模式

sendfile on; #tcp_nopush on; #防止網路阻塞

#keepalive_timeout 0

; keepalive_timeout 65

; #長連線超時時間(單位秒)

#gzip on; #開啟gzip壓縮

server塊配置
#配置虛擬主機 

server

#error_page 404

/404.html; #配置404頁面

# redirect server error pages to the static page /

50x.html

# error_page 500

502503

504/

50x.html; #配置50x頁面

location =

/50x.html

#禁止(外網)訪問 .htaccess檔案

# deny access to .htaccess files,

if apache's document root

# concurs with nginx's one

# #location ~

/\.ht

}

server2塊配置
# another virtual host using mix of ip-

, name-

, and port-based configuration

##server

# }

server3塊配置
# https server 

# #server

# }

靜態配置檔案處理

location /

讓nginx進行**,即所 謂的反向** 訪問localhost時轉到tomcat

listen:表示當前的**伺服器監聽的埠,預設的是監聽80埠。 

server_name:表示服務名稱。

location:表示匹配的路徑,這時配置了/表示所有請求都被匹配到這裡

root:裡面配置了root這時表示當匹配這個請求的路徑時,將會在這個資料夾內尋找相應的檔案。

index:當沒有指定主頁時,缺省會選擇這個指定的檔案,它可以有多個,並按順序來載入,如果第乙個不存在,則找第二 個,依此類推

下面的error_page是代表錯誤的頁面,

server 

#error_page 404

localhost時轉到tomcat時。修改兩個地方:

server_name exam_qf; 

location /

Nginx從入門到精通

1 nginx配置檔案載入機制 採用nginx s reload命令載入nginx的配置檔案,master程序讀取配置檔案,建立新的worker程序,向老的worker程序傳送shutdown命令。老的worker程序不再接受新的請求,待老的請求處理完成後,就會停掉。2 location匹配機制 當...

Nginx開發從入門到精通

更新歷史 日期描述 2012 03 01 建立目錄大綱 2012 03 28 增加了樣章 2012 05 25 更新樣章 2012 06 08 增加第5章 2012 06 11 增加第4章 2012 06 26 增加第6章 event module 2012 06 27 更新第5章部分內容 2012...

Nginx開發從入門到精通

nginx開發從入門到精通 nginx平台初探 100 基本資料結構 99 nginx的配置系統 100 nginx的模組化體系結構 模組概述 nginx的請求處理 handler模組 100 handler模組的基本結構 handler模組的掛載 handler的編寫步驟 示例 hello han...