【總結】11條nginx優化方法助力你的運維生涯
天府雲創&恩威科技提醒,本文閱讀時間5分鐘
隱藏nginx header裡版本號資訊
1.檢視版本號
2.隱藏版本號
在nginx配置檔案的http標籤內加入“server_tokens off; ”引數,也可以放大server標籤和location標籤中,如下:
再此檢視如下,瀏覽器訪問錯誤頁面也就沒有版本號了
更改原始碼隱藏軟體名稱及版本號
在nginx編譯安裝之前,先更改,之後再編譯安裝
1.更改版本號
修改nginx-1.3.4/src/core/nginx.h
修改後檢視header結果:
2.改nginx-1.6.12/src/http/ngx_http_header_filter_module.c
需要修改的字串
修改後的字串
3.修改ngx_http_special_response.c
修改為:
更改掉nginx預設使用者及使用者組(worker程式服務使用者優化)
1.檢視預設配置如下:
預設情況下,nginx服務啟動,使用的使用者和組預設都是nobody,
將web使用者改為特殊的使用者名稱如:nginx或更特殊點的dabaojian,但是這個使用者必須是系統存在的。
2.建立nginx使用者
3.配置檔案nginx.conf中修改(也可以編譯安裝時指定預設)
在配置檔案最外層上面
4.讓woker程式使用普通使用者執行
為master服務降權:使用非root跑nginx master
注意:不能用80特權埠 ,前端nginx反向代理轉埠
配置nginx worker程式個數
nginx由master和worker程式組成,master程式相當於管理員,worker程式為使用者提供服務
一般設定為cpu核數或則核數x2,用top按1檢視
修改nginx.conf配置檔案第一行
根據cpu核數進行nginx程式優化
把幾個程式分配在一個cup上,cup親和力
1.不同cpu設定如下
四核cpu配置:
八核cpu伺服器引數配置:
2.官方文件說明
nginx事件處理模型優化
nginx的連線處理機制在不同的作業系統上採用不用的IO模型,在linux下,nginx使用epoll的IO多路複用模型,在freebsd使用kqueue的IO多路複用模型,在solaris使用/dev/pool方式的IO多路複用模型,在windows使用的icop等等。
根據系統型別不同選擇不同的事務處理模型,選擇有“use [ kqueue | rtsig |epool |dev/pool |select |pllo ];”我們使用的是Centos6.5的linux,因此將nginx的事件處理模型調整為epool模型。
具體引數如下在優化4下邊挨著:
調整nginx worker單個程式允許的客戶端最大連線數
這個值根據伺服器效能和程式的記憶體來指定(一個程式啟動使用的記憶體根據程式確定)
這個引數是單個程式的最大連結數,實際最大連結數是worker技能書乘以這個數。
Max_client=worker_processes*worker_connections
配置nginx worker程式最大開啟檔案數
相當於系統ulimit -HSn,應該是總的。
理念:配置引數不是越大越好,最好設為伺服器承受的極限點。
開啟高效的檔案傳輸模式
在http欄位設定
tcp_nopush引數可以允許把http response header和檔案的開始放在一個檔案裡釋出,積極的作用是減少網路報文段的數量。
設定連線超時時間
保護伺服器資源,硬體CPU mem,連線數。
建立連線也是要消耗資源的,我們一般斷掉那些連上的連結,但是不做事的
php網站建議短連線,PHP程式建立連線消耗的資源和時間要少。
JAVA網站建議長連線,JAVA程式建立連線消耗的資源和時間要多。
在http欄位設定
上傳檔案大小限制(動態應用)
今日值班: 學習顧問,可甜蜜貼心溝通,可嚴謹職業指導,愛水果也愛生活,會創意更愛學習,陪伴你的成長之路。
相關文章
- 總結前端效能優化的方法前端優化
- PHP的效能優化方法總結PHP優化
- SQL 優化經驗總結34條SQL優化
- SQL優化經驗總結34條SQL優化
- 運維經理的運維經驗總結運維
- SQL優化經驗總結34條(一)SQL優化
- SQL優化經驗總結34條(二)SQL優化
- Deep Learning 優化方法總結優化
- 總結幾個webpack打包優化的方法Web優化
- Python 運維總結Python運維
- 總結出10條SQL語句優化精髓SQL優化
- nginx應用總結(2)--突破高併發的效能優化Nginx優化
- 運維乾貨 | 10分鐘深入瞭解10大Nginx配置項優化運維Nginx優化
- Java 效能優化之——效能優化的過程方法與求職面經總結Java優化求職
- 總結MYSQL的優化薦MySql優化
- webpack優化總結Web優化
- APP優化總結APP優化
- 效能優化總結優化
- SQL精華總結索引型別優化SQL優化事務大表優化思維導圖❤️SQL索引型別優化
- 自己總結的ORACLE日常運維常用的SQLOracle運維SQL
- 一線微博運營者的50條總結
- SQL Server資料庫查詢優化的方法總結SQLServer資料庫優化
- 自動化運維群第三個里程碑總結運維
- Python自動化運維工具-Fabric部署及使用總結Python運維
- Hive常用效能優化方法實踐全面總結Hive優化
- 運維的 85 條軍規運維
- 運維的85 條軍規運維
- 運籌優化(十三)--大規模優化方法優化
- nginx部署vue專案方法總結NginxVue
- 我用22年遊戲生涯,總結了一套運營思路遊戲
- JVM調優總結-調優方法JVM
- SQL優化常用方法11SQL優化
- 運維前線:一線運維專家的運維方法、技巧與實踐1.3 運維自動化的困境和價值運維
- MySQL的SQL效能優化總結MySql優化
- LAMP的思考:效能優化總結LAMP優化
- 工作總結!日誌列印的11條建議
- Nginx/Apache之偽靜態設定 - 運維小結NginxApache運維
- React 效能優化總結React優化