您好,登錄后才能下訂單哦!
這篇文章主要介紹了nginx如何部署優化,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
Nginx是lgor Sysoev為俄羅斯訪問量第二的rambler.ru站點設計開發的。從2004年發布至今,憑借開源的力量,已經接近成熟與完善。
Nginx功能豐富,可作為HTTP服務器,也可作為反向代理服務器,郵件服務器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模塊擴展。
Nginx的穩定性、功能集、示例配置文件和低系統資源的消耗讓他后來居上,在全球活躍的網站中有12.18%的使用比率,大約為2220萬個網站。
研究nginx優化時反復安裝清理nginx,為方便做了一個簡單部署腳本,用的最新穩定版1.14.0,默認路徑,加入systemd系統進程管理中,可以通過systemd管理nginx的啟動、終止、重載、狀態、開機自啟等.
#!/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時,用awk找到nginx的進程然后kill掉,再次執行安裝腳本就行.
kill -9 $`ps aux | grep 'nginx' | awk 'NR==2{print $2}'`
二、nginx優化
nginx優化配置集中在nginx.conf文件的main和events段.
main段中worker配置,可以通過work_cpu_affinity選項,按任務類型:CPU密集型或者IO密集型,根據實際業務情況綁定每個worker進程運行在哪個CPU核心上,(前提是系統必須為多核心CPU),例如
# 4核心CPU中,開啟4個worker,每個worker分別對應cpu0/cpu1/cpu2/cpu. worker_processes 4; worker_cpu_affinity 0001 0010 0100 1000; # 4核心CPU中,也可以只開啟2個worker,第一個worker對應cpu0/cpu2,第二個worker對應cpu1/cpu3. worker_processes 2; worker_cpu_affinity 0101 1010;
envents段中開啟集中一次性接入連接請求和串行方式接入新連接
events { worker_connections 1024; # 每個worker最大連接數. multi_accept on; # 是否集中接入監聽到的連接請求,默認為off,關閉時一次只接收一個連接. accept_mutex on # 默認為on,表示以串行方式接入新連接,off時,將通報給所有worker
其它的,例如HTTP段優化,sendfile、keepalive_timeout、gzip是nginx中必做.
感謝你能夠認真閱讀完這篇文章,希望小編分享的“nginx如何部署優化”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。