亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > Nginx > 正文

Nginx的配置詳解(附代碼)

2024-08-30 12:21:33
字體:
來源:轉載
供稿:網友

本篇文章給大家帶來的內容是關于Nginx的配置詳解(附代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

常用配置項

在工作中,我們與 Nginx 打交道更多的是通過其配置文件來進行。那么掌握這些配置項各自的作用就很有必要了。

首先,nginx.conf 的內容通常是這樣的:

  1. ...               
  2.  
  3. ...            #核心摸塊 
  4.  
  5.  
  6.  
  7. events {        #事件模塊 
  8.  
  9.    
  10.  
  11.    ... 
  12.  
  13.  
  14.  
  15.  
  16. http {     # http 模塊 
  17.  
  18.  
  19.  
  20.     server {      # server塊 
  21.  
  22.        
  23.  
  24.         location [PATTERN] {  # location塊 
  25.  
  26.           
  27.  
  28.             ... 
  29.  
  30.         } 
  31.  
  32.         location [PATTERN] { 
  33.  
  34.           
  35.  
  36.             ... 
  37.  
  38.         } 
  39.  
  40.     } 
  41.  
  42.     server { 
  43.  
  44.       ... 
  45.  
  46.     } 
  47.  
  48.       
  49.  
  50.  
  51.  
  52.  
  53. mail {     # mail 模塊 
  54.  
  55.        
  56.  
  57.      server {    # server塊 
  58.  
  59.           ... 
  60.  
  61.     } 
  62.  
  63.  
  64.  

我們依次看一下每個模塊一般有哪些配置項:

核心模塊

  1. user admin; #配置用戶或者組。 
  2.  
  3. worker_processes 4; #允許生成的進程數,默認為1  
  4.  
  5. pid /nginx/pid/nginx.pid; #指定 nginx 進程運行文件存放地址  
  6.  
  7. error_log log/error.log debug; #錯誤日志路徑,級別。 

事件模塊

  1. events {  
  2.  
  3.     accept_mutex on; #設置網路連接序列化,防止驚群現象發生,默認為on  
  4.  
  5.     multi_accept on; #設置一個進程是否同時接受多個網絡連接,默認為off  
  6.  
  7.     use epoll; #事件驅動模型select|poll|kqueue|epoll|resig 
  8.  
  9.     worker_connections 1024; #最大連接數,默認為512 
  10.  

http 模塊

  1. http { 
  2.  
  3.     include       mime.types;   #文件擴展名與文件類型映射表  
  4.  
  5.     default_type  application/octet-stream; #默認文件類型,默認為text/plain  
  6.  
  7.     access_log off; #取消服務日志 
  8.  
  9.     sendfile on;   #允許 sendfile 方式傳輸文件,默認為off,可以在http塊,server塊,location塊。  
  10.  
  11.     sendfile_max_chunk 100k;  #每個進程每次調用傳輸數量不能大于設定的值,默認為0,即不設上限。  
  12.  
  13.     keepalive_timeout 65;  #連接超時時間,默認為75s,可以在http,server,location塊。 
  14.   
  15.     server  
  16.  
  17.     { 
  18.  
  19.             keepalive_requests 120; #單連接請求上限次數。  
  20.  
  21.             listen 80; #監聽端口  
  22.  
  23.             server_name  127.0.0.1;   #監聽地址        
  24.  
  25.             index index.html index.htm index.php;  
  26.  
  27.             root your_path;  #根目錄      
  28.  
  29.             location ~ /.php$ 
  30.  
  31.             { 
  32.  
  33.                   fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;  
  34.  
  35.                   #fastcgi_pass 127.0.0.1:9000;  
  36.  
  37.                   fastcgi_index index.php;  
  38.  
  39.                   include fastcgi_params; 
  40.  
  41.             } 
  42.  
  43.  
  44.  
  45.     } 
  46.  

配置項解析

worker_processes

worker_processes 用來設置 Nginx 服務的進程數。該值推薦使用 CPU 內核數。

worker_cpu_affinity

worker_cpu_affinity 用來為每個進程分配CPU的工作內核,參數有多個二進制值表示,每一組代表一個進程,每組中的每一位代表該進程使用CPU的情況,1代表使用,0代表不使用。所以我們使用 worker_cpu_affinity 0001 0010 0100 1000;來讓進程分別綁定不同的核上。默認情況下worker進程不綁定在任何一個CPU上。

worker_rlimit_nofile

設置毎個進程的最大文件打開數。如果不設的話上限就是系統的 ulimit –n的數字,一般為65535。

worker_connections

設置一個進程理論允許的最大連接數,理論上越大越好,但不可以超過 worker_rlimit_nofile 的值。

use epoll

設置事件驅動模型使用 epoll。epoll 是 Nginx 支持的高性能事件驅動庫之一。是公認的非 常優秀的事件驅動模型。

accept_mutex off

關閉網絡連接序列化,當其設置為開啟的時候,將會對多個 Nginx 進程接受連接進行序列化,防止多個進程對連接的爭搶。當服務器連接數不多時,開啟這個參數會讓負載有一定程度的降低。但是當服務器的吞吐量很大時,為了效率,請關閉這個參數;并且關閉這個參數的時候也可以讓請求在多個 worker 間的分配更均衡。所以我們設置 accept_mutex off;

multi_accept on

設置一個進程可同時接受多個網絡連接

Sendfile on

Sendfile是 Linux2.0 以后的推出的一個系統調用,它能簡化網絡傳輸過程中的步驟,提高服務器性能。

不用 sendfile的傳統網絡傳輸過程:

硬盤 >> kernel buffer >> user buffer >> kernel socket buffer >> 協議棧

用 sendfile()來進行網絡傳輸的過程:

硬盤 >> kernel buffer (快速拷貝到 kernelsocket buffer) >>協議棧

tcp_nopush on;

設置數據包會累積一下再一起傳輸,可以提高一些傳輸效率。 tcp_nopush 必須和 sendfile 搭配使用。

tcp_nodelay on;

小的數據包不等待直接傳輸。默認為on。?看上去是和 tcp_nopush 相反的功能,但是兩邊都為 on 時 nginx 也可以平衡這兩個功能的使用。

keepalive_timeout

HTTP 連接的持續時間。設的太長會使無用的線程變的太多。這個根據服務器訪問數量、處理速度以及網絡狀況方面考慮。

send_timeout

設置 Nginx 服務器響應客戶端的超時時間,這個超時時間只針對兩個客戶端和服務器建立連接后,某次活動之間的時間,如果這個時間后,客戶端沒有任何活動,Nginx服務器將關閉連接

gzip on

啟用 gzip,對響應數據進行在線實時壓縮,減少數據傳輸量。

gzip_disable "msie6"

Nginx服務器在響應這些種類的客戶端請求時,不使用 Gzip 功能緩存應用數據,gzip_disable “msie6”對IE6瀏覽器的數據不進行 GZIP 壓縮。

常用的配置項大致這些,對于不同的業務場景,有的需要額外的其他配置項,這里不做展開。

其他

http 配置里有 location 這一項,它是用來根據請求中的 uri 來為其匹配相應的處理規則。

location 查找規則

  1. location  = / { 
  2.  
  3.   # 精確匹配 / ,主機名后面不能帶任何字符串 
  4.  
  5.   [ config A ] 
  6.  
  7.  
  8. location  / { 
  9.  
  10.   # 因為所有的地址都以 / 開頭,所以這條規則將匹配到所有請求 
  11.  
  12.   # 但是正則和最長字符串會優先匹配 
  13.  
  14.   [ config B ] 
  15.  
  16.  
  17. location /documents/ { 
  18.  
  19.   # 匹配任何以 /documents/ 開頭的地址,匹配符合以后,還要繼續往下搜索 
  20.  
  21.   # 只有后面的正則表達式沒有匹配到時,這一條才會采用這一條 
  22.  
  23.   [ config C ] 
  24.  
  25.  
  26. location ~ /documents/Abc { 
  27.  
  28.   # 匹配任何以 /documents/Abc 開頭的地址,匹配符合以后,還要繼續往下搜索 
  29.  
  30.   # 只有后面的正則表達式沒有匹配到時,這一條才會采用這一條 
  31.  
  32.   [ config CC ] 
  33.  
  34.  
  35. location ^~ /images/ { 
  36.  
  37.   # 匹配任何以 /images/ 開頭的地址,匹配符合以后,停止往下搜索正則,采用這一條。 
  38.  
  39.   [ config D ] 
  40.  
  41.  
  42. location ~* /.(gif|jpg|jpeg)$ { 
  43.  
  44.   # 匹配所有以 gif,jpg或jpeg 結尾的請求 
  45.  
  46.   # 然而,所有請求 /images/ 下的圖片會被 config D 處理,因為 ^~ 到達不了這一條正則 
  47.  
  48.   [ config E ] 
  49.  
  50.  
  51. location /images/ { 
  52.  
  53.   # 字符匹配到 /images/,繼續往下,會發現 ^~ 存在 
  54.  
  55.   [ config F ] 
  56.  
  57.  
  58. location /images/abc { 
  59.  
  60.   # 最長字符匹配到 /images/abc,繼續往下,會發現 ^~ 存在 
  61.  
  62.   # F與G的放置順序是沒有關系的 
  63.  
  64.   [ config G ] 
  65.  
  66.  
  67. location ~ /images/abc/ { 
  68.  
  69.   # 只有去掉 config D 才有效:先最長匹配 config G 開頭的地址,繼續往下搜索,匹配到這一條正則,采用 
  70.  
  71.     [ config H ] 
  72.  

正則查找優先級從高到低依次如下:

“ = ” 開頭表示精確匹配,如 A 中只匹配根目錄結尾的請求,后面不能帶任何字符串。

“ ^~ ” 開頭表示uri以某個常規字符串開頭,不是正則匹配

“ ~ ” 開頭表示區分大小寫的正則匹配;

“ ~* ”開頭表示不區分大小寫的正則匹配

“ / ” 通用匹配, 如果沒有其它匹配,任何請求都會匹配到

負載均衡配置

Nginx 的負載均衡需要用到 upstream 模塊,可通過以下配置來實現:

  1. upstream test-upstream { 
  2.  
  3.     ip_hash; # 使用 ip_hash 算法分配 
  4.  
  5.     server 192.168.1.1; # 要分配的 ip 
  6.  
  7.     server 192.168.1.2; 
  8.  
  9.  
  10.  
  11. server {  
  12.  
  13.     location / {        
  14.  
  15.         proxy_pass http://test-upstream; 
  16.  
  17.     } 
  18.  

上面的例子定義了一個 test-upstream 的負載均衡配置,通過 proxy_pass 反向代理指令將請求轉發給該模塊進行分配處理。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
青青精品视频播放| 欧美夜福利tv在线| 欧美精品免费在线| 精品国产欧美一区二区五十路| 国产一区二区三区在线观看视频| 亚洲免费一级电影| 亚洲系列中文字幕| 亚洲黄页视频免费观看| 国产精品第一视频| 色综合天天狠天天透天天伊人| 97精品一区二区视频在线观看| 欧美性xxxx极品高清hd直播| 日韩欧美在线一区| 日韩福利视频在线观看| 精品伊人久久97| 亚洲九九九在线观看| 亚洲美女中文字幕| 中文字幕av一区中文字幕天堂| 亚洲二区在线播放视频| 一色桃子一区二区| 国产精品日日做人人爱| 91在线观看免费高清完整版在线观看| 九九热这里只有在线精品视| 亚洲精品91美女久久久久久久| 另类色图亚洲色图| 日韩精品在线观看一区二区| 亚洲人成毛片在线播放| 久久久久久av| 亚洲第一精品久久忘忧草社区| 久久国产精品久久久久久久久久| 中文字幕日韩欧美在线| 亚洲欧美日韩直播| 国产精品久久久久久久久久| 91国产美女视频| 欧美人在线观看| 亚洲欧美在线免费观看| 久久精品视频导航| 岛国视频午夜一区免费在线观看| 中文字幕日韩欧美在线视频| 日韩欧美黄色动漫| 日韩在线播放av| 久久精品国产久精国产思思| 日韩精品免费观看| 亚洲精品视频二区| 久久免费成人精品视频| 黑人狂躁日本妞一区二区三区| 国产精品99导航| 国产精品久久久久久久久久尿| 久久99久国产精品黄毛片入口| 欧美理论片在线观看| 欧美一区三区三区高中清蜜桃| 91中文在线视频| 97久久伊人激情网| 国产综合福利在线| 国产精品av在线| 欧美激情性做爰免费视频| 久久亚洲综合国产精品99麻豆精品福利| 国产日本欧美视频| 日韩视频免费观看| 97国产成人精品视频| 久久精品中文字幕电影| 亚洲第一精品自拍| 色yeye香蕉凹凸一区二区av| 在线精品视频视频中文字幕| 亚洲美女在线视频| 亚洲色图第一页| 日本久久久久亚洲中字幕| 亚洲成人中文字幕| 国产丝袜一区视频在线观看| 久久综合伊人77777| 久久久之久亚州精品露出| 国内精品中文字幕| 国产精品小说在线| 91在线免费看网站| 亚洲激情视频在线观看| 亚洲第一区中文99精品| 国产精自产拍久久久久久蜜| 亚洲国产中文字幕久久网| 清纯唯美日韩制服另类| 精品欧美国产一区二区三区| 国产精自产拍久久久久久蜜| 国产精品夫妻激情| 欧美黄网免费在线观看| 韩日欧美一区二区| 538国产精品一区二区免费视频| 国产亚洲视频中文字幕视频| 欧美日韩黄色大片| 51色欧美片视频在线观看| 成人av在线亚洲| 欧美俄罗斯性视频| 92看片淫黄大片看国产片| 国产精品h片在线播放| 亚洲欧美国产精品va在线观看| 欧美精品午夜视频| 538国产精品一区二区在线| 久久这里只有精品视频首页| 久久精品中文字幕电影| 中文字幕视频一区二区在线有码| 亚洲第一区在线| 日韩视频免费中文字幕| 亚洲欧美国产制服动漫| 国产精品福利网| 日韩成人高清在线| 日韩精品在线免费播放| 久久精品国产亚洲一区二区| 中文字幕日韩精品在线观看| 97免费视频在线播放| 在线视频欧美日韩| 成人网页在线免费观看| 亚洲影院色在线观看免费| 日韩欧美国产黄色| 国产在线播放不卡| 国产欧美在线观看| 欧美美女15p| 亚洲性生活视频在线观看| 国产精品一区二区三区免费视频| 日韩欧美国产成人| 亚洲第一视频网| 性色av一区二区咪爱| 国产精品久久久久久久久久99| 91久久国产精品91久久性色| 国产视频精品免费播放| 欧美精品日韩www.p站| 久久精品男人天堂| 国产97在线播放| 亚洲成人激情在线观看| 欧美性生交大片免网| 亚洲综合色激情五月| 亚洲视频一区二区| 欧美久久久精品| 亚洲精品视频中文字幕| 欧美激情亚洲综合一区| 国产一区二区日韩精品欧美精品| 国产精品亚发布| 91成人精品网站| 亚洲一区二区日本| 久久这里有精品视频| 国产人妖伪娘一区91| 国模极品一区二区三区| 亚洲一区二区三区视频播放| 97免费视频在线| 亚洲成人黄色网址| 亚洲天堂av电影| 亚洲精品久久久久久久久久久久久| 欧美中文在线视频| 国产玖玖精品视频| 欧美日韩国产91| 久久高清视频免费| 成人免费视频xnxx.com| 日韩毛片中文字幕| 精品在线观看国产| 另类少妇人与禽zozz0性伦| 深夜福利91大全| 欧美另类高清videos| 国产在线观看不卡| 亚洲精品中文字幕女同| 午夜精品一区二区三区在线视频| 亚洲精品少妇网址| 国产91ⅴ在线精品免费观看| 国产精品一久久香蕉国产线看观看| 国产精品久久色| 亚洲片国产一区一级在线观看| 国产精品自拍小视频| 色综合色综合久久综合频道88|