溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

nginx如何部署優(yōu)化

發(fā)布時(shí)間:2021-08-21 09:36:51 來源:億速云 閱讀:164 作者:小新 欄目:服務(wù)器

這篇文章主要介紹了nginx如何部署優(yōu)化,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

Nginx是lgor Sysoev為俄羅斯訪問量第二的rambler.ru站點(diǎn)設(shè)計(jì)開發(fā)的。從2004年發(fā)布至今,憑借開源的力量,已經(jīng)接近成熟與完善。

Nginx功能豐富,可作為HTTP服務(wù)器,也可作為反向代理服務(wù)器,郵件服務(wù)器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模塊擴(kuò)展。

Nginx的穩(wěn)定性、功能集、示例配置文件和低系統(tǒng)資源的消耗讓他后來居上,在全球活躍的網(wǎng)站中有12.18%的使用比率,大約為2220萬(wàn)個(gè)網(wǎng)站。

研究nginx優(yōu)化時(shí)反復(fù)安裝清理nginx,為方便做了一個(gè)簡(jiǎn)單部署腳本,用的最新穩(wěn)定版1.14.0,默認(rèn)路徑,加入systemd系統(tǒng)進(jìn)程管理中,可以通過systemd管理nginx的啟動(dòng)、終止、重載、狀態(tài)、開機(jī)自啟等.

#!/bin/bash
yum -y install gcc pcre pcre-devel
sleep 2
cd ~
tar -zxvf ~/zlib-1.2.11.tar.gz
cd ~/zlib-1.2.11 && ./configure && make && make install 
cd ~
tar -zxvf ~/nginx-1.14.0.tar.gz
cd ~/nginx-1.14.0 && ./configure && make && make install
cd ~
#/usr/local/nginx/sbin/nginx
firewall-cmd --set-default-zone=trusted
touch /lib/systemd/system/nginx.service
echo "[Unit]
Description=nginx 
After=network.target  
[Service] 
Type=forking 
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true 
[Install] 
WantedBy=multi-user.target" > /lib/systemd/system/nginx.service
systemctl enable nginx.service
systemctl restart nginx.service
echo "nginx done"

需要再次覆蓋nginx時(shí),用awk找到nginx的進(jìn)程然后kill掉,再次執(zhí)行安裝腳本就行.

 kill -9 $`ps aux | grep 'nginx' | awk 'NR==2{print $2}'`

二、nginx優(yōu)化

nginx優(yōu)化配置集中在nginx.conf文件的main和events段.

main段中worker配置,可以通過work_cpu_affinity選項(xiàng),按任務(wù)類型:CPU密集型或者IO密集型,根據(jù)實(shí)際業(yè)務(wù)情況綁定每個(gè)worker進(jìn)程運(yùn)行在哪個(gè)CPU核心上,(前提是系統(tǒng)必須為多核心CPU),例如

 # 4核心CPU中,開啟4個(gè)worker,每個(gè)worker分別對(duì)應(yīng)cpu0/cpu1/cpu2/cpu.
 worker_processes  4;
 worker_cpu_affinity 0001 0010 0100 1000;
 # 4核心CPU中,也可以只開啟2個(gè)worker,第一個(gè)worker對(duì)應(yīng)cpu0/cpu2,第二個(gè)worker對(duì)應(yīng)cpu1/cpu3.
 worker_processes  2;
 worker_cpu_affinity 0101 1010;

envents段中開啟集中一次性接入連接請(qǐng)求和串行方式接入新連接

events {
  worker_connections 1024;  # 每個(gè)worker最大連接數(shù).
  multi_accept on;      # 是否集中接入監(jiān)聽到的連接請(qǐng)求,默認(rèn)為off,關(guān)閉時(shí)一次只接收一個(gè)連接.
  accept_mutex on       # 默認(rèn)為on,表示以串行方式接入新連接,off時(shí),將通報(bào)給所有worker

其它的,例如HTTP段優(yōu)化,sendfile、keepalive_timeout、gzip是nginx中必做.

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“nginx如何部署優(yōu)化”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI