深入淺析nginx部署及簡單最佳化
Nginx是lgor Sysoev為俄羅斯訪問量第二的rambler.ru站點設計開發的。本文重點給大家介紹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/bashyum -y install gcc pcre pcre-develsleep 2cd ~tar -zxvf ~/zlib-1.2.11.tar.gzcd ~/zlib-1.2.11 && ./configure && make && make install cd ~tar -zxvf ~/nginx-1.14.0.tar.gzcd ~/nginx-1.14.0 && ./configure && make && make installcd ~#/usr/local/nginx/sbin/nginxfirewall-cmd --set-default-zone=trustedtouch /lib/systemd/system/nginx.serviceecho “[Unit]Description=nginx After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginxExecReload=/usr/local/nginx/sbin/nginx reloadExecStop=/usr/local/nginx/sbin/nginx quitPrivateTmp=true [Install] WantedBy=multi-user.target” > /lib/systemd/system/nginx.servicesystemctl enable nginx.servicesystemctl restart nginx.serviceecho “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部署及簡單最佳化 ,希望對大家有所幫助
文章來源:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69911024/viewspace-2641889/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- nginx部署及簡單優化Nginx優化
- Nginx淺析Nginx
- MySQL效能最佳化淺析及線上案例MySql
- CenterOS docker 下簡單部署 PHP+NginxROSDockerPHPNginx
- MVCC詳解,深入淺出簡單易懂MVC
- Flume安裝及簡單部署
- 簡單案例淺析JS執行緒機制JS執行緒
- 深入淺出JMS(一)——JMS簡單介紹
- mysql 事務處理及表鎖定深入簡析MySql
- 簡單介紹nginx反向代理及使用Nginx
- [分散式]Nginx系列文章---深入淺出Nginx分散式Nginx
- mydumper使用及原理淺析
- nginx listen指令淺析之add listenNginx
- 淺析單例模式--Java單例模式Java
- 01 . SaltStack部署配置及簡單應用
- 淺析TCP和nodejs中TCP的簡單應用TCPNodeJS
- 【深入淺出jQuery】原始碼淺析2–奇技淫巧jQuery原始碼
- 【深入淺出jQuery】原始碼淺析–整體架構jQuery原始碼架構
- Sftp部署及最佳化FTP
- infer使用的淺談簡析
- nginx Win下實現簡單的負載均衡(1)nginx搭建部署Nginx負載
- 淺析 Laravel 官方文件推薦的 Nginx 配置LaravelNginx
- 淺析MyBatis(二):手寫一個自己的MyBatis簡單框架MyBatis框架
- RocketMQ 簡單梳理 及 叢集部署筆記MQ筆記
- 最簡單的nginx教程 - 如何把一個web應用部署到nginx上NginxWeb
- Nginx簡單操作Nginx
- 深入淺出Nginx實戰與架構Nginx架構
- 淺析Python專案伺服器部署Python伺服器
- Web 動畫原則及技巧淺析Web動畫
- 淺析DNS劫持及應對方案DNS
- 淺析 及整體分析 Relay 原始碼原始碼
- SharedPreferences的使用及原始碼淺析原始碼
- 自動化部署nginx負載均衡及監控簡訊報警Nginx負載
- Gin使用及原始碼簡析原始碼
- Ceph分散式儲存-原理介紹及簡單部署分散式
- MySQL簡單最佳化MySql
- Nginx的另一個選擇 - Traefik 入手及簡單配置Nginx
- 深入淺出理解 Spark:環境部署與工作原理Spark