欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

總結(jié)高并發(fā)下Nginx性能如何優(yōu)化

 更新時(shí)間:2021年10月29日 15:49:38   作者:PurpleHin  
這篇文章主要為大家介紹了在高并發(fā)下Nginx性能如何優(yōu)化的總結(jié)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步

我們終將在,沒(méi)有黑暗的地方相見。 ~喬治《1984》

Nginx同Apache一樣都是一種WEB服務(wù)器。基于REST架構(gòu)風(fēng)格,以統(tǒng)一資源描述符(UniformResources ldentifier)URl或者統(tǒng)一資源定位符(Uniform Resources Locator)URL作為溝通依據(jù),通過(guò)HTTP協(xié)議提供各種網(wǎng)絡(luò)服務(wù)。

Apache的發(fā)展時(shí)期很長(zhǎng),而且是毫無(wú)爭(zhēng)議的世界第一大服務(wù)器。它有著很多優(yōu)點(diǎn):穩(wěn)定、開源、跨平臺(tái)等等。它出現(xiàn)的時(shí)間太長(zhǎng)了,它興起的年代,互聯(lián)網(wǎng)產(chǎn)業(yè)遠(yuǎn)遠(yuǎn)比不上現(xiàn)在。所以它被設(shè)計(jì)為一個(gè)重量級(jí)的。它不支持高并發(fā)的服務(wù)器。在Apache上運(yùn)行數(shù)以萬(wàn)計(jì)的并發(fā)訪問(wèn),會(huì)導(dǎo)致服務(wù)器消耗大量?jī)?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)而生了。

特點(diǎ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語(yǔ)言編寫Nginx是一個(gè)跨平臺(tái)服務(wù)器Nginx有自己的函數(shù)庫(kù),并且除了zlib、PCRE和OpenSSL之外,標(biāo)準(zhǔn)模塊只使用系統(tǒng)C庫(kù)函數(shù)。

優(yōu)勢(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ǎn)單(配置文件通俗易懂)價(jià)格(免費(fèi)、開源)支持Rewriter重寫(能夠根據(jù)域名、URL的不同,將HTTP請(qǐng):求分到不同的后端服務(wù)器群組)內(nèi)置健康檢查(如果nginx后端有幾個(gè)服務(wù)宕機(jī)了,不會(huì)影響前端訪問(wèn),能自動(dòng)檢測(cè)服務(wù)狀態(tài))節(jié)省帶寬(支持GZIP壓縮,可以添加瀏覽器本地緩存的Header頭)
穩(wěn)定性高,反向代理,很少宕機(jī)中國(guó)大陸使用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的訪問(wèn)頁(yè)面(welcome to nginx)具體所在位置
vi /usr/share/nginx/html/index.html
# 訪問(wèn)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 eth1 eth2)
# 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 即使沒(méi)有啟動(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;
	#}
}

代理模式和配置反向代理

正向代理(forward proxy) :

是一個(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)行一些特別的配置才能使用正向代理。一般情況下,如果沒(méi)有特別說(shuō)明,代理技術(shù)默認(rèn)是指正向代理技術(shù)。

相當(dāng)于是一個(gè)職業(yè)中介,且客戶端和實(shí)際服務(wù)器不能溝通,客戶端知道他是中介

反向代理(reverse proxy)︰

和正向代理正好相反,對(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)

動(dòng)靜分離

Nginx動(dòng)靜分離簡(jiǎn)單來(lái)說(shuō)就是把動(dòng)態(tài)跟靜態(tài)請(qǐng)求分開,不能理解成只是單純的把動(dòng)態(tài)頁(yè)面和靜態(tài)頁(yè)面物理分離

嚴(yán)格意義上說(shuō)應(yīng)該是動(dòng)態(tài)請(qǐng)求跟靜態(tài)請(qǐng)求分開,可以理解成使用Nginx處理靜態(tài)頁(yè)面,Tomcat處理動(dòng)態(tài)頁(yè)面

動(dòng)靜分離從目前實(shí)現(xiàn)角度來(lái)講大致分為兩種:

  • 一種是純粹把靜態(tài)文件獨(dú)立成單獨(dú)的域名,放在獨(dú)立的服務(wù)器上,也是目前主流推崇的方案
  • 一種是動(dòng)態(tài)跟靜態(tài)文件混合在一起發(fā)布,通過(guò)nginx來(lái)分開

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:用于記錄訪問(wèn)時(shí)間和時(shí)區(qū)
$request:用于記錄請(qǐng)求的url以及請(qǐng)求方法
$status:響應(yīng)狀態(tài)碼,例如:200成功、404頁(yè)面找不到等。
$body_bytes_sent:給客戶端發(fā)送的文件主體內(nèi)容字節(jié)數(shù)

日志切割

nginx的日志文件沒(méi)有rotate功能

編寫每天生成一個(gè)日志,我們可以寫一個(gè)nginx日志切割腳本來(lái)自動(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ā)架構(gòu)分析

什么是高并發(fā)?

高并發(fā)(High Concurrency)是互聯(lián)網(wǎng)分布式系統(tǒng)架構(gòu)設(shè)計(jì)中必須考慮的因素之一,它通常是指,通過(guò)設(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ù)

如何提升系統(tǒng)的并發(fā)能力?

互聯(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ù)算不是問(wèn)題,強(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ù)器都有極限

三種方式實(shí)現(xiàn)

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è)試的頁(yè)面
Document Length 頁(yè)面的大小
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;
	}
}

限制請(qǐng)求流(限速)

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;
	}
}

后臺(tái)服務(wù)限制

該模塊是提供了我們需要的后端限流功能的

該模塊有一個(gè)參數(shù): max_conns可以對(duì)服務(wù)端進(jìn)行限流,可惜在商業(yè)版nginx中才能使用

在nginx1.11.5版本以后,官方已經(jīng)將該參數(shù)從商業(yè)版中脫離出來(lái)了,也就是說(shuō)只要我們將生產(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
}

Nginx優(yōu)化

調(diào)整Nginx的主配置文件,增加并發(fā)量

worker_processes 2;# 調(diào)整與CPU一致
events {
	# 每個(gè)worker最大并發(fā)數(shù)量
	worker_connection 65535;
}

Nginx長(zhǎng)連接:HTTP1.1之后,HTTP協(xié)議支持持久連接,也就是長(zhǎng)連接,優(yōu)點(diǎn)在于在一個(gè)TCP連接上可以傳送多個(gè)HTTP請(qǐng)求和響應(yīng),

nginx長(zhǎng)連接短連接,可以增強(qiáng)服務(wù)器的容災(zāi)能力

減少了建立和關(guān)閉連接的消耗和延遲。如果我們使用了nginx去作為反向代理或者負(fù)載均衡,從客戶端過(guò)來(lái)的長(zhǎng)連接請(qǐng)求就會(huì)被轉(zhuǎn)換成短連接發(fā)送給服務(wù)器端,為了支持長(zhǎng)連接,我們需要在nginx服務(wù)器上做一些配置

使用nginx時(shí),想要做到長(zhǎng)連接,我們必須做到以下兩點(diǎn):

  • 從client到nginx是長(zhǎng)連接(events)
  • 從nginx到server是長(zhǎng)連接(http)

對(duì)于客戶端而言,nginx其實(shí)扮演著server的角色,反之,之于server,nginx就是一個(gè)client

events {
	# keepalive超時(shí)時(shí)間,默認(rèn)是60s,切記這個(gè)參數(shù)也不能設(shè)置過(guò)大!否則會(huì)導(dǎo)致許多無(wú)效的http連接占據(jù)著nginx的連接數(shù),終nginx崩潰!
	keepalive_timeout 60;
}
http {
	keepalive_timeout 60;
}

Nginx壓縮

gzip壓縮作用:將響應(yīng)報(bào)文發(fā)送至客戶端之前可以啟用壓縮功能,這能夠有效地節(jié)約帶寬,并提高響應(yīng)至客戶端的速度,壓縮會(huì)消耗nginx的cpu性能。

gzip壓縮可以配置http,server和location模塊下

http {
    #gzip模塊設(shè)置
    #開啟壓縮
    gzip on;
    # 設(shè)置允許壓縮的頁(yè)面最小字節(jié)數(shù),頁(yè)面字節(jié)數(shù)從header頭得content-length中進(jìn)行獲取。
    默認(rèn)值是0,不管頁(yè)面多大都?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)存。
    # 如果沒(mé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/*
    # (無(wú)論是否指定)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 - 無(wú)條件啟用壓縮
        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

以上就是總結(jié)高并發(fā)下Nginx性能如何優(yōu)化的詳細(xì)內(nèi)容,更多關(guān)于高并發(fā)下Nginx性能優(yōu)化的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Nginx 防止被域名惡意解析的辦法

    Nginx 防止被域名惡意解析的辦法

    這篇文章主要介紹了Nginx 防止被域名惡意解析的方法的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家掌握理解這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • centos7系統(tǒng)下nginx安裝并配置開機(jī)自啟動(dòng)操作

    centos7系統(tǒng)下nginx安裝并配置開機(jī)自啟動(dòng)操作

    這篇文章主要介紹了centos7系統(tǒng)下nginx安裝并配置開機(jī)自啟動(dòng)操作方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • nginx對(duì)http請(qǐng)求處理的各個(gè)階段詳析

    nginx對(duì)http請(qǐng)求處理的各個(gè)階段詳析

    這篇文章主要給大家介紹了關(guān)于nginx對(duì)http請(qǐng)求處理的各個(gè)階段分析的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Nginx靜態(tài)壓縮和代碼壓縮提高訪問(wèn)速度詳解

    Nginx靜態(tài)壓縮和代碼壓縮提高訪問(wèn)速度詳解

    Nginx提供靜態(tài)壓縮功能,對(duì)于比較大的文件,可以自動(dòng)默認(rèn)查找.gz后綴的壓縮包,下面這篇文章主要給大家介紹了關(guān)于Nginx靜態(tài)壓縮和代碼壓縮提高訪問(wèn)速度的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • 使用Nginx和Lua進(jìn)行JWT校驗(yàn)介紹

    使用Nginx和Lua進(jìn)行JWT校驗(yàn)介紹

    大家好,本篇文章主要講的是使用Nginx和Lua進(jìn)行JWT校驗(yàn)介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2021-12-12
  • Nginx服務(wù)器相關(guān)的一些安全配置建議

    Nginx服務(wù)器相關(guān)的一些安全配置建議

    這篇文章主要介紹了Nginx服務(wù)器相關(guān)的一些安全配置建議,共計(jì)總結(jié)了十個(gè)小點(diǎn),需要的朋友可以參考下
    2015-06-06
  • NGINX服務(wù)器配置404錯(cuò)誤頁(yè)面轉(zhuǎn)向的方法

    NGINX服務(wù)器配置404錯(cuò)誤頁(yè)面轉(zhuǎn)向的方法

    這篇文章主要為大家詳細(xì)介紹了NGINX服務(wù)器配置404錯(cuò)誤頁(yè)面轉(zhuǎn)向的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Nginx中泛域名配置的實(shí)例教程

    Nginx中泛域名配置的實(shí)例教程

    泛域名就是我們平常指的二級(jí)和三級(jí)域名等,這里我們來(lái)總結(jié)一下Nginx中泛域名解析配置的實(shí)例教程,包括正則匹配等細(xì)節(jié)的講解,需要的朋友可以參考下
    2016-05-05
  • nginx 如何實(shí)現(xiàn)if嵌套的方法示例

    nginx 如何實(shí)現(xiàn)if嵌套的方法示例

    這篇文章主要介紹了nginx 如何實(shí)現(xiàn)if嵌套的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 詳解用Nginx搭建CDN服務(wù)器方法(圖文)

    詳解用Nginx搭建CDN服務(wù)器方法(圖文)

    這篇文章主要介紹了詳解用Nginx搭建CDN服務(wù)器方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06

最新評(píng)論