您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“高并發(fā)下Nginx性能怎么優(yōu)化”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
Nginx同Apache一樣都是一種WEB服務(wù)器。基于REST架構(gòu)風(fēng)格,以統(tǒng)一資源描述符(UniformResources ldentifier)URl或者統(tǒng)一資源定位符(Uniform Resources Locator)URL作為溝通依據(jù),通過HTTP協(xié)議提供各種網(wǎng)絡(luò)服務(wù)。
Apache的發(fā)展時(shí)期很長,而且是毫無爭議的世界第一大服務(wù)器。它有著很多優(yōu)點(diǎn):穩(wěn)定、開源、跨平臺(tái)等等。它出現(xiàn)的時(shí)間太長了,它興起的年代,互聯(lián)網(wǎng)產(chǎn)業(yè)遠(yuǎn)遠(yuǎn)比不上現(xiàn)在。所以它被設(shè)計(jì)為一個(gè)重量級(jí)的。它不支持高并發(fā)的服務(wù)器。在Apache上運(yùn)行數(shù)以萬計(jì)的并發(fā)訪問,會(huì)導(dǎo)致服務(wù)器消耗大量內(nèi)存sz操作系統(tǒng)對(duì)其進(jìn)行進(jìn)程或線程間的切換也消耗了大量的CPU資源,導(dǎo)致HTTP請(qǐng)求的平均響應(yīng)速度降低。
這些都決定了Apache不可能成為高性能WEB服務(wù)器,輕量級(jí)高并發(fā)服務(wù)器Nginx就應(yīng)運(yùn)而生了。
是一個(gè)高性能的HTTP和反向代理web服務(wù)器,輕量級(jí)提供了IMAP/POP3/SMTP服務(wù)發(fā)布于2004年10月4日(第一個(gè)公開版本0.1.0 )Nginx的1.4.0穩(wěn)定版已經(jīng)于2013年4月24日發(fā)布C語言編寫Nginx是一個(gè)跨平臺(tái)服務(wù)器Nginx有自己的函數(shù)庫,并且除了zlib、PCRE和OpenSSL之外,標(biāo)準(zhǔn)模塊只使用系統(tǒng)C庫函數(shù)。
占有內(nèi)存少(在3W并發(fā)連接中,開啟的10個(gè)nginx進(jìn)程消耗內(nèi)存大約150M)高并發(fā)能力強(qiáng)(官方測(cè)試能夠支撐5W并發(fā)連接,在實(shí)際生產(chǎn)環(huán)境中能到2-3W并發(fā)連接數(shù))簡單(配置文件通俗易懂)價(jià)格(免費(fèi)、開源)支持Rewriter重寫(能夠根據(jù)域名、URL的不同,將HTTP請(qǐng):求分到不同的后端服務(wù)器群組)內(nèi)置健康檢查(如果nginx后端有幾個(gè)服務(wù)宕機(jī)了,不會(huì)影響前端訪問,能自動(dòng)檢測(cè)服務(wù)狀態(tài))節(jié)省帶寬(支持GZIP壓縮,可以添加瀏覽器本地緩存的Header頭)
穩(wěn)定性高,反向代理,很少宕機(jī)中國大陸使用nginx網(wǎng)站用戶有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等
功能:web服務(wù)器、輕量級(jí);負(fù)載、均衡;緩存;高并發(fā)
應(yīng)用場(chǎng)景:代理服務(wù)器;IP負(fù)載、靜態(tài)負(fù)載;動(dòng)靜分離;限流、健康監(jiān)控
安裝:
sudo apt-get install nginx
查看版本
nginx -v nginx version: nginx/1.18.0 (Ubuntu)
基本命令
# nginx的訪問頁面(welcome to nginx)具體所在位置 vi /usr/share/nginx/html/index.html # 訪問IP curl 192.168.100.111 # 關(guān)閉nginx進(jìn)程 nginx -s stop # 啟動(dòng)nginx進(jìn)程 /usr/sbin/nginx # yum安裝的nginx也可以使用 servic nginx start # 檢查配置文件是否有誤 nginx –t # 重新加載配置文件 nginx –s reload # 查看日志 tail -f filename #顯示文件默認(rèn)10行,刷新顯示 # 例:tail -f /var/log/lvs-agent.log tail -f /etc/nginx/nginx.conf # 查看文件后幾行 tail -n 行數(shù) 文件名 例: tail -n 100 /var/log/aa.log # 刪除網(wǎng)卡ip ip addr del 192.168.11.5/32 dev lo (lo eth2 eth3) # lvs清空所有集群服務(wù) ipvsadm –C # 獲取eth0網(wǎng)卡上的所掛的ip值 ip a|grep eth0|grep inet|awk ‘{print $2}'|cut -d “/” -f1 # 驗(yàn)證該ip或者網(wǎng)址是否通 可用返回200 curl -I -m 10 -o /dev/null -s -w %{http_code} 10.110.26.10:8080 # 后臺(tái)啟動(dòng)jar包 nohup java -jar /usr/sbin/項(xiàng)目名.jar >>/var/log/項(xiàng)目名.log 2>&1 & # 查看上一個(gè)命令是否執(zhí)行成功 返回0執(zhí)行成功 其他不成 echo $? # 查看nginx進(jìn)程是否啟動(dòng)。此命令用在代碼判斷nginx進(jìn)程是否啟動(dòng),如果只用ps aux | grep nginx 即使沒有啟動(dòng)也會(huì)用內(nèi)容返回,影響判斷 ps aux | grep nginx | greo –v grep
nginx.conf
# nginx.conf # 全局配置區(qū) user www-data; worker_processes auto; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf; # 網(wǎng)絡(luò)事件配置區(qū) events { worker_connections 768; # multi_accept on; } # HTTP模塊 http { ## # HTTP 全局設(shè)置 ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # SSL 設(shè)置 ## ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on; ## # 日志設(shè)置 ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # 資源壓縮設(shè)置 ## gzip on; # 默認(rèn)開啟 # gzip_vary on; # gzip_proxied any; # gzip_comp_level 6; # gzip_buffers 16 8k; # gzip_http_version 1.1; # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ## # 虛擬主機(jī)配置 ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; }
/etc/nginx/sites-enabled/*
server { # 虛擬主機(jī)配置 listen 80 default_server; # 監(jiān)聽端口 listen [::]:80 default_server; # SSL 配置 # # listen 443 ssl default_server; # listen [::]:443 ssl default_server; # # Note: You should disable gzip for SSL traffic. # See: https://bugs.debian.org/773332 # # Read up on ssl_ciphers to ensure a secure configuration. # See: https://bugs.debian.org/765782 # # Self signed certs generated by the ssl-cert package # Don't use them in a production server! # # include snippets/snakeoil.conf; # 數(shù)據(jù)緩存位置 root /var/www/html; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html; # 域名,可以有多個(gè) server_name _; # 對(duì)/進(jìn)行反向代理 location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. # uwsgi_pass 127.0.0.1:8000; # include /etc/nginx/uwsgi_params; try_files $uri $uri/ =404; } # pass PHP scripts to FastCGI server # #location ~ \.php$ { # include snippets/fastcgi-php.conf; # # # With php-fpm (or other unix sockets): # fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }
是一個(gè)位于客戶端(用戶A)和原始服務(wù)器(origin server)(目標(biāo)服務(wù)器)之間的服務(wù)器(代理服務(wù)器),為了從原始服務(wù)器取得內(nèi)容,客戶端向代理服務(wù)器發(fā)送一個(gè)請(qǐng)求并指定目標(biāo)(原始服務(wù)器),然后代理服務(wù)器向原始服務(wù)器轉(zhuǎn)交請(qǐng)求并將獲得的內(nèi)容返回給客戶端??蛻舳吮仨氁M(jìn)行一些特別的配置才能使用正向代理。一般情況下,如果沒有特別說明,代理技術(shù)默認(rèn)是指正向代理技術(shù)。
相當(dāng)于是一個(gè)職業(yè)中介,且客戶端和實(shí)際服務(wù)器不能溝通,客戶端知道他是中介
和正向代理正好相反,對(duì)于客戶端而言它就像是原始服務(wù)器,并且客戶端不需要進(jìn)行任何特別的設(shè)置??蛻舳讼蚍聪虼淼拿臻g(name-space)中的內(nèi)容發(fā)送普通請(qǐng)求,接著反向代理將判斷向何處(原始服務(wù)器)轉(zhuǎn)交請(qǐng)求,并將獲得的內(nèi)容返回給客戶端,就像這些內(nèi)容原本就是它自己的一樣。
相當(dāng)于是一個(gè)買房和賣房的人,買房的時(shí)候相對(duì)于賣房的是一個(gè)買房的,賣房的時(shí)候相對(duì)于買房的是一個(gè)賣房的。
客戶端不知道他是一個(gè)代理服務(wù)器,服務(wù)器也認(rèn)為他只是客戶端而不是代理服務(wù)器
透明代理的意思是客戶端根本不需要知道有代理服務(wù)器的存在,它改編你的requestfields(報(bào)文),并會(huì)傳送真實(shí)IP。注意,加密的透明代理則是屬于匿名代理,意思是不用設(shè)置使用代理了。透明代理實(shí)踐的例子就是時(shí)下很多公司使用的行為管理軟件
# 反向代理默認(rèn)是關(guān)閉的 # upstream localhost是第三方模塊,均衡 upstream localhost { # 實(shí)際服務(wù)器 server 192.168.136.133:8081; server 192.168.136.133:8081; server 192.168.136.133:8081; } # 負(fù)載 server { listen 80 # 代理服務(wù)器的端口 server_name localhost; location / { proxy_pass http://localhost; # 將請(qǐng)求發(fā)送給其中一臺(tái)實(shí)際服務(wù)器 } }
負(fù)載均衡方法:
輪詢法(默認(rèn))
加權(quán)輪詢法(權(quán)重)
Fair
url_hash
源地址哈希法
最小連接法(least_conn)
Nginx動(dòng)靜分離簡單來說就是把動(dòng)態(tài)跟靜態(tài)請(qǐng)求分開,不能理解成只是單純的把動(dòng)態(tài)頁面和靜態(tài)頁面物理分離
嚴(yán)格意義上說應(yīng)該是動(dòng)態(tài)請(qǐng)求跟靜態(tài)請(qǐng)求分開,可以理解成使用Nginx處理靜態(tài)頁面,Tomcat處理動(dòng)態(tài)頁面
動(dòng)靜分離從目前實(shí)現(xiàn)角度來講大致分為兩種:
一種是純粹把靜態(tài)文件獨(dú)立成單獨(dú)的域名,放在獨(dú)立的服務(wù)器上,也是目前主流推崇的方案
一種是動(dòng)態(tài)跟靜態(tài)文件混合在一起發(fā)布,通過nginx來分開
mkdir static # 存放靜態(tài)文件
server { # 虛擬主機(jī)配置 listen 80 default_server; # 監(jiān)聽端口 listen [::]:80 default_server; # 數(shù)據(jù)緩存位置 root /var/www/html; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html; # 域名,可以有多個(gè) server_name _; # 對(duì)/進(jìn)行反向代理 location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. # uwsgi_pass 127.0.0.1:8000; # include /etc/nginx/uwsgi_params; try_files $uri $uri/ =404; } # 如果是這些文件后綴就去這里面找 location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css) $ { root /static; expires 30d; # 緩存有效期 } }
日志生成的到Nginx根目錄logs/access.log文件,默認(rèn)使用“main”日志格式,也可以自定義格式默認(rèn)“main”日志格式
og_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; $remote_addr:客戶端的ip地址(代理服務(wù)器,顯示代理服務(wù)ip) $remote_user:用于記錄遠(yuǎn)程客戶端的用戶名稱(一般為“-”) $time_local:用于記錄訪問時(shí)間和時(shí)區(qū) $request:用于記錄請(qǐng)求的url以及請(qǐng)求方法 $status:響應(yīng)狀態(tài)碼,例如:200成功、404頁面找不到等。 $body_bytes_sent:給客戶端發(fā)送的文件主體內(nèi)容字節(jié)數(shù)
nginx的日志文件沒有rotate功能
編寫每天生成一個(gè)日志,我們可以寫一個(gè)nginx日志切割腳本來自動(dòng)切割日志文件
第一步就是重命名日志文件 (不用擔(dān)心重命名后nginx找不到日志文件而丟失日志。在你未重新打開原名字的日志文件前,nginx還是會(huì)向你重命名的文件寫日志,Linux是靠文件描述符而不是文件名定位文件 )
第二步向nginx主進(jìn)程發(fā)送USR1信號(hào)
nginx主進(jìn)程接到信號(hào)后會(huì)從配置文件中讀取日志文件名稱
重新打開日志文件 (以配置文件中的日志名稱命名) ,并以工作進(jìn)程的用戶作為日志文件的所有者
重新打開日志文件后,nginx主進(jìn)程會(huì)關(guān)閉重名的日志文件并通知
工作進(jìn)程使用新打開的日志文件工作進(jìn)程立刻打開新的日志文件并關(guān)閉重名名的日志文件,然后你就可以處理舊的日志文件了。[或者重啟nginx服務(wù)]
nginx日志按每分鐘自動(dòng)切割腳本如下 :
新建shell腳本
高并發(fā)(High Concurrency)是互聯(lián)網(wǎng)分布式系統(tǒng)架構(gòu)設(shè)計(jì)中必須考慮的因素之一,它通常是指,通過設(shè)計(jì)保證系統(tǒng)能夠同時(shí)并行處理很多請(qǐng)求。
高并發(fā)相關(guān)常用的一些指標(biāo)有響應(yīng)時(shí)間(Response Time),吞吐量(Throughput),每秒查詢率QPS (Query Per Second),并發(fā)用戶數(shù)等。
響應(yīng)時(shí)間:系統(tǒng)對(duì)請(qǐng)求做出響應(yīng)的時(shí)間
吞吐量:單位時(shí)間內(nèi)處理的請(qǐng)求數(shù)量。
QPS:每秒響應(yīng)請(qǐng)求數(shù)
互聯(lián)網(wǎng)分布式架構(gòu)設(shè)計(jì),提高系統(tǒng)并發(fā)能力的方式,方法論上主要有兩種:垂直擴(kuò)展(ScaleUp)與水平擴(kuò)展(Scale Out)。
垂直擴(kuò)展:提升單機(jī)處理能力。垂直擴(kuò)展的方式又有兩種。
增強(qiáng)單機(jī)硬件性能
提升單機(jī)架構(gòu)性能
在互聯(lián)網(wǎng)業(yè)務(wù)發(fā)展非常迅猛的早期,如果預(yù)算不是問題,強(qiáng)烈建議使用“增強(qiáng)單機(jī)硬件性能”的方式提升系統(tǒng)并發(fā)能力,因?yàn)檫@個(gè)階段,公司的戰(zhàn)略往往是發(fā)展業(yè)務(wù)搶時(shí)間,而“增強(qiáng)單機(jī)硬件性能”往往是最快的方法。
不管是提升單機(jī)硬件性能,還是提升單機(jī)架構(gòu)性能,都有一個(gè)致命的不足:單機(jī)性能總是有極限的。所以互聯(lián)網(wǎng)分布式架構(gòu)設(shè)計(jì)高并發(fā)終極解決方案還是水平擴(kuò)展。
水平擴(kuò)展:只要增加服務(wù)器數(shù)量,就能線性擴(kuò)充系統(tǒng)性能。
服務(wù)器都有極限
limit_conn_zone(限制連接流)
limit_req_zone(限制請(qǐng)求流)
ngx_http_upstream_module(后臺(tái)服務(wù)限制)
此處插上一個(gè)小工具:限制測(cè)試工具下載
yum install http-tools -y
key | 含義 |
---|---|
Document Path | 測(cè)試的頁面 |
Document Length | 頁面的大小 |
Concurrency Level | 并發(fā)數(shù)量、并發(fā)用戶數(shù) |
Time taken for tests | 測(cè)試耗費(fèi)總時(shí)間 |
Complete requests | 請(qǐng)求總量、并發(fā)連接數(shù) |
Failed requests | 請(qǐng)求失敗的數(shù)量 |
Write errors | 錯(cuò)誤數(shù)量 |
Requests per second | 每秒鐘的請(qǐng)求量吞吐率 |
Time per request | 每次請(qǐng)求需要時(shí)間響應(yīng)時(shí)間 |
http { # binary_remote_addr:IP # zone=one:10m;申請(qǐng)一塊10M的空間存放連接的IP limit_conn_zone $binary_remote_addr zone=one:10m; server { # zone區(qū)域中每次放出10個(gè)連接nginx處理 limit_conn one 10; } }
http { # rate意思是每個(gè)連接每秒能發(fā)一個(gè)連接 limit_req_zone $binary_remote_addr zone=req_one:10m rate=1r/s; server { # brust:令牌,每次新增一個(gè),120個(gè)發(fā)完后會(huì)報(bào)錯(cuò)503 limit_req zone=req_one brust=120; } }
該模塊是提供了我們需要的后端限流功能的
該模塊有一個(gè)參數(shù): max_conns可以對(duì)服務(wù)端進(jìn)行限流,可惜在商業(yè)版nginx中才能使用
在nginx1.11.5版本以后,官方已經(jīng)將該參數(shù)從商業(yè)版中脫離出來了,也就是說只要我們將生產(chǎn)上廣泛使用的nginx1.9.12版本和1.10版本升級(jí)即可使用
server { # max_conns最大接收服務(wù)數(shù)量 server 127.0.0.1:8080 max_conns=100; }
版本安全
http { server_tokens off; }
IP安全
http { location / { allow 127.0.0.1; # 白名單 deny all; # 黑名單 } }
文件安全
http { location /logs{ autoindex on; # 展示目錄 root /static; } location ^/logs~*\.(log|txt)$ { add_header Content_Type text/plain; root /static; } }
連接安全
http { # SSL settings }
調(diào)整Nginx的主配置文件,增加并發(fā)量
worker_processes 2;# 調(diào)整與CPU一致 events { # 每個(gè)worker最大并發(fā)數(shù)量 worker_connection 65535; }
Nginx長連接:HTTP1.1之后,HTTP協(xié)議支持持久連接,也就是長連接,優(yōu)點(diǎn)在于在一個(gè)TCP連接上可以傳送多個(gè)HTTP請(qǐng)求和響應(yīng),
nginx長連接短連接,可以增強(qiáng)服務(wù)器的容災(zāi)能力
減少了建立和關(guān)閉連接的消耗和延遲。如果我們使用了nginx去作為反向代理或者負(fù)載均衡,從客戶端過來的長連接請(qǐng)求就會(huì)被轉(zhuǎn)換成短連接發(fā)送給服務(wù)器端,為了支持長連接,我們需要在nginx服務(wù)器上做一些配置
使用nginx時(shí),想要做到長連接,我們必須做到以下兩點(diǎn):
從client到nginx是長連接(events)
從nginx到server是長連接(http)
對(duì)于客戶端而言,nginx其實(shí)扮演著server的角色,反之,之于server,nginx就是一個(gè)client
events { # keepalive超時(shí)時(shí)間,默認(rèn)是60s,切記這個(gè)參數(shù)也不能設(shè)置過大!否則會(huì)導(dǎo)致許多無效的http連接占據(jù)著nginx的連接數(shù),終nginx崩潰! keepalive_timeout 60; } http { keepalive_timeout 60; }
gzip壓縮作用:將響應(yīng)報(bào)文發(fā)送至客戶端之前可以啟用壓縮功能,這能夠有效地節(jié)約帶寬,并提高響應(yīng)至客戶端的速度,壓縮會(huì)消耗nginx的cpu性能。
gzip壓縮可以配置http,server和location模塊下
http { #gzip模塊設(shè)置 #開啟壓縮 gzip on; # 設(shè)置允許壓縮的頁面最小字節(jié)數(shù),頁面字節(jié)數(shù)從header頭得content-length中進(jìn)行獲取。 默認(rèn)值是0,不管頁面多大都?jí)嚎s。建議設(shè)置成大于2k的字節(jié)數(shù),小于2k可能會(huì)越壓越大。 gzip_min_length 2k; # 設(shè)置系統(tǒng)獲取幾個(gè)單位的緩存用于存儲(chǔ)gzip的壓縮結(jié)果數(shù)據(jù)流。 例如 4 4k 代表以4k為單 位,按照原始數(shù)據(jù)大小以4k為單位的4倍申請(qǐng)內(nèi)存。 4 8k 代表以8k為單位,按照原始數(shù)據(jù)大小以8k 為單位的4倍申請(qǐng)內(nèi)存。 # 如果沒有設(shè)置,默認(rèn)值是申請(qǐng)跟原始數(shù)據(jù)相同大小的內(nèi)存空間去存儲(chǔ)gzip壓縮結(jié)果。 gzip_buffers 4 16k; #壓縮級(jí)別,1-10,數(shù)字越大壓縮的越好,也越占用CPU時(shí)間 gzip_comp_level 5; # 默認(rèn)值: gzip_types text/html (默認(rèn)不對(duì)js/css文件進(jìn)行壓縮) # 壓縮類型,匹配MIME類型進(jìn)行壓縮 # 不能用通配符 text/* # (無論是否指定)text/html默認(rèn)已經(jīng)壓縮 # 設(shè)置哪壓縮種文本文件可參考 conf/mime.types gzip_types text/plain application/xjavascript text/css application/xml; # 值為1.0和1.1 代表是否壓縮http協(xié)議1.0,選擇1.0則1.0和1.1都可以壓縮 gzip_http_version 1.0 # IE6及以下禁止壓縮 gzip_disable "MSIE [1-6]\."; # 默認(rèn)值:off # Nginx作為反向代理的時(shí)候啟用,開啟或者關(guān)閉后端服務(wù)器返回的結(jié)果,匹配的前提是后端服 務(wù)器必須要返回包含"Via"的 header頭。 # off - 關(guān)閉所有的代理結(jié)果數(shù)據(jù)的壓縮 # expired - 啟用壓縮,如果header頭中包含 "Expires" 頭信息 # no-cache - 啟用壓縮,如果header頭中包含 "Cache-Control:no-cache" 頭信息 # no-store - 啟用壓縮,如果header頭中包含 "Cache-Control:no-store" 頭信息 # private - 啟用壓縮,如果header頭中包含 "Cache-Control:private" 頭信息 # no_last_modified - 啟用壓縮,如果header頭中不包含 "Last-Modified" 頭信息 # no_etag - 啟用壓縮 ,如果header頭中不包含 "ETag" 頭信息 # auth - 啟用壓縮 , 如果header頭中包含 "Authorization" 頭信息 # any - 無條件啟用壓縮 gzip_proxied expired no-cache no-store private auth; # 給CDN和代理服務(wù)器使用,針對(duì)相同url,可以根據(jù)頭信息返回壓縮和非壓縮副本 gzip_vary on }
狀態(tài)監(jiān)控
server { location /NginxStatus { stub_status on; access_log off; } }
插件安裝
./configure --prefix=... --with-http_stub_status _module
“高并發(fā)下Nginx性能怎么優(yōu)化”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。