日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

为什么Nginx性能比Apache高

發布時間:2025/3/19 Nginx 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 为什么Nginx性能比Apache高 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

Nginx的工作原理

nginx在啟動后,會有一個master進程和多個worker進程。master進程主要用來管理worker進程,包含:接收來自外界的信號,向各worker進程發送信號,監控worker進程的運行狀態,當worker進程退出后(異常情況下),會自動重新啟動新的worker進程。而基本的網絡事件,則是放在worker進程中來處理了。多個worker進程之間是對等的,他們同等競爭來自客戶端的請求,各進程互相之間是獨立的。一個請求,只可能在一個worker進程中處理,一個worker進程,不可能處理其它進程的請求。worker進程的個數是可以設置的,一般我們會設置與機器cpu核數一致,這里面的原因與nginx的進程模型以及事件處理模型是分不開的。nginx的進程模型下圖:

?

?

為什么Nginx的性能要比Apache高很多?

這得益于Nginx使用了最新的epoll(Linux 2.6內核)和kqueue(freebsd)網絡I/O模型,而Apache則使用的是傳統的select模型。

目前Linux下能夠承受高并發訪問的Squid、Memcached都采用的是epoll網絡I/O模型。

處理大量的連接的讀寫,Apache所采用的select網絡I/O模型非常低效。

下面用一個比喻來解析Apache采用的select模型和Nginx采用的epoll模型進行之間的區別:

假設你在大學讀書,住的宿舍樓有很多間房間,你的朋友要來找你。

select版宿管大媽就會帶著你的朋友挨個房間去找,直到找到你為止。

而epoll版宿管大媽會先記下每位同學的房間號,你的朋友來時,只需告訴你的朋友你住在哪個房間即可,不用親自帶著你的朋友滿大樓找人。

如果來了10000個人,都要找自己住這棟樓的同學時,select版和epoll版宿管大媽,誰的效率更高,不言自明。

?

?

nginx與apache的區別

?

apache在處理用戶請求時采用的是進程,若采用prefork的mpms機制,apache在每個時刻都要保持8個空閑的子進程,當用戶請求過多時,開啟的進程較多,占用內存大,效率與nginx相比較低,每秒最多的并發連接請求最多不超過3000個。但是apache有個優點就是非常穩定,當一個進程死掉時,不會影響其他的用戶。而nginx在處理用戶請求時采用的是線程,而線程是共享內存的,nginx只需要開啟少量進程,多個線程就可以共享進程的內存,占用內存小,nginx采用的是epoll機制(事件主動通知機制)每秒最多的并發連接請求理論可以達到50000個。但是nginx的缺點是,穩定性差,當一個進程死掉時,會影響到多個用戶的使用。

?

Nginx配置文件說明

#定義Nginx運行的用戶和用戶組
user www www;

#nginx進程數,建議設置為等于CPU總核心數。
worker_processes 8;

#全局錯誤日志定義類型,[ debug | info | notice | warn | error | crit ]
error_log /var/log/nginx/error.log info;

#進程文件
pid /var/run/nginx.pid;

#一個nginx進程打開的最多文件描述符數目,理論值應該是最多打開文件數(系統的值ulimit -n)與nginx進程數相除,但是nginx分配請求并不均勻,所以建議與ulimit -n的值保持一致。
worker_rlimit_nofile 65535;

#工作模式與連接數上限
events
{
#參考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本內核中的高性能網絡I/O模型,如果跑在FreeBSD上面,就用kqueue模型。
use epoll;
#單個進程最大連接數(最大連接數=連接數*進程數)
worker_connections 65535;
}

#設定http服務器
http
{
include mime.types; #文件擴展名與文件類型映射表
default_type application/octet-stream; #默認文件類型
#charset utf-8; #默認編碼
server_names_hash_bucket_size 128; #服務器名字的hash表大小
client_header_buffer_size 32k; #上傳文件大小限制
large_client_header_buffers 4 64k; #設定請求緩
client_max_body_size 8m; #設定請求緩
sendfile on; #開啟高效文件傳輸模式,sendfile指令指定nginx是否調用sendfile函數來輸出文件,對于普通應用設為 on,如果用來進行下載等應用磁盤IO重負載應用,可設置為off,以平衡磁盤與網絡I/O處理速度,降低系統的負載。注意:如果圖片顯示不正常把這個改成off。
autoindex on; #開啟目錄列表訪問,合適下載服務器,默認關閉。
tcp_nopush on; #防止網絡阻塞
tcp_nodelay on; #防止網絡阻塞
keepalive_timeout 120; #長連接超時時間,單位是秒

#FastCGI相關參數是為了改善網站的性能:減少資源占用,提高訪問速度。下面參數看字面意思都能理解。
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;

#gzip模塊設置
gzip on; #開啟gzip壓縮輸出
gzip_min_length 1k; #最小壓縮文件大小
gzip_buffers 4 16k; #壓縮緩沖區
gzip_http_version 1.0; #壓縮版本(默認1.1,前端如果是squid2.5請使用1.0)
gzip_comp_level 2; #壓縮等級
gzip_types text/plain application/x-javascript text/css application/xml;
#壓縮類型,默認就已經包含text/html,所以下面就不用再寫了,寫上去也不會有問題,但是會有一個warn。
gzip_vary on;
#limit_zone crawler $binary_remote_addr 10m; #開啟限制IP連接數的時候需要使用

upstream blog.ha97.com {
#upstream的負載均衡,weight是權重,可以根據機器配置定義權重。weigth參數表示權值,權值越高被分配到的幾率越大。
server 192.168.80.121:80 weight=3;
server 192.168.80.122:80 weight=2;
server 192.168.80.123:80 weight=3;
}

#虛擬主機的配置
server
{
#監聽端口
listen 80;
#域名可以有多個,用空格隔開
server_name www.ha97.com ha97.com;
index index.html index.htm index.php;
root /data/www/ha97;
location ~ .*.(php|php5)?$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
#圖片緩存時間設置
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 10d;
}
#JS和CSS緩存時間設置
location ~ .*.(js|css)?$
{
expires 1h;
}
#日志格式設定
log_format access '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
#定義本虛擬主機的訪問日志
access_log /var/log/nginx/ha97access.log access;

#對 "/" 啟用反向代理
location / {
proxy_pass http://127.0.0.1:88;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
#后端的Web服務器可以通過X-Forwarded-For獲取用戶真實IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#以下是一些反向代理的配置,可選。
proxy_set_header Host $host;
client_max_body_size 10m; #允許客戶端請求的最大單文件字節數
client_body_buffer_size 128k; #緩沖區代理緩沖用戶端請求的最大字節數,
proxy_connect_timeout 90; #nginx跟后端服務器連接超時時間(代理連接超時)
proxy_send_timeout 90; #后端服務器數據回傳時間(代理發送超時)
proxy_read_timeout 90; #連接成功后,后端服務器響應時間(代理接收超時)
proxy_buffer_size 4k; #設置代理服務器(nginx)保存用戶頭信息的緩沖區大小
proxy_buffers 4 32k; #proxy_buffers緩沖區,網頁平均在32k以下的設置
proxy_busy_buffers_size 64k; #高負荷下緩沖大小(proxy_buffers*2)
proxy_temp_file_write_size 64k;
#設定緩存文件夾大小,大于這個值,將從upstream服務器傳
}

#設定查看Nginx狀態的地址
location /NginxStatus {
stub_status on;
access_log on;
auth_basic "NginxStatus";
auth_basic_user_file conf/htpasswd;
#htpasswd文件的內容可以用apache提供的htpasswd工具來產生。
}

#本地動靜分離反向代理配置
#所有jsp的頁面均交由tomcat或resin處理
location ~ .(jsp|jspx|do)?$ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080;
}
#所有靜態文件由nginx直接讀取不經過tomcat或resin
location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$
{ expires 15d; }
location ~ .*.(js|css)?$
{ expires 1h; }
}
}

?

總結

以上是生活随笔為你收集整理的为什么Nginx性能比Apache高的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩黄色片 | 爱啪啪影视 | 亚洲一区二区三区av无码 | 国产一道本 | 午夜电影你懂的 | 亚洲午夜影视 | 久久性爱视频网站 | 97久久精品视频 | 四虎综合网 | 欧美精品一区二区三区久久久竹菊 | 性少妇xxxxx 亚洲一卡二卡在线观看 | 91精品国产麻豆国产自产在线 | 女优一区 | 久久久精品人妻一区二区三区色秀 | 欧美 日韩 国产精品 | 日皮视频免费看 | 性生活av| 99久热在线精品996热是什么 | 日本少妇电影 | 国精产品一区一区三区mba下载 | 久久精品无码一区 | 日本大胆人体视频 | 亚洲精品乱码久久久久久蜜桃图片 | 欧美午夜久久久 | www.av视频在线观看 | 在线观看一二区 | 一区二区成人在线观看 | 国产精品老熟女视频一区二区 | 日韩欧美一区二区三区视频 | 国产高清小视频 | 欧洲精品久久久久毛片完整版 | 色狠狠av老熟女 | 亚洲大片在线观看 | 欧美日韩高清免费 | 欧美激情视频一区二区三区 | 麻豆传媒网站入口 | 动漫av在线 | 在线h网| 91国语对白 | a级无遮挡超级高清-在线观看 | 国产青青草视频 | 日韩人妻无码精品综合区 | 蜜臀少妇久久久久久久高潮 | 欧美亚洲成人网 | 青青草免费观看视频 | 精品一区在线看 | 免费在线观看中文字幕 | 国产精品视频99 | 在线观看欧美一区 | 少妇视频在线播放 | 日韩网站在线观看 | 在线视频资源 | 成人午夜黄色 | 色99色| 毛片9 | 精品一区在线看 | 噜噜色综合 | h片在线观看视频 | 三区在线| 国产一区二区不卡视频 | 麻豆国产在线视频 | 波多野结衣有码 | 成人在线观看a | 91网站免费在线观看 | 国产又粗又猛又爽又黄的视频在线观看动漫 | a级片在线 | 曰本黄色大片 | 日日日插插插 | 看全黄大色黄大片美女人 | 欧美色精品 | 亚洲激情综合 | 色很久 | 婷婷五月色综合 | 91啪在线 | 51人人看| 人妻少妇精品视频一区二区三区 | av大片免费观看 | 69影院少妇在线观看 | av在线第一页| 国产成人无码精品久在线观看 | 亚洲天天操 | 成年视频在线播放 | а√天堂资源在线 | 亚洲视频大全 | 99亚洲国产精品 | 日韩一级片在线播放 | 久久久久久久毛片 | 国产哺乳奶水91在线播放 | 日日夜夜天天综合 | 视频丨9l丨白浆 | www.啪| 青青草在线视频免费观看 | 国产91综合一区在线观看 | 亚洲国产精品久久久久婷婷老年 | 国产wwwwwww | 姑娘第5集在线观看免费好剧 | 三大队在线观看 | 国产伦精品一区二区三区网站 | 色呦呦网|