nginx管理設定最佳化

不言
發布: 2023-03-25 15:38:02
原創
1716 人瀏覽過

這篇文章主要介紹了nginx管理配置優化,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

nginx優化

優化思路
nginx管理設定最佳化

基本最佳化

1、調整參數隱藏nginx軟體版本號資訊

server_tokens off;
登入後複製

2、更改nginx服務預設使用者

user nginx nginx;
登入後複製

3.最佳化nginx服務的worker進程個數

worker_processes cpu*核数;
登入後複製

4、最佳化綁定不同的nginx進程到不同的cpu上

worker_cpu_affinit 0001 0010 0100 1000 0001 0010 0100 1000;
登入後複製

5、nginx時間處理模型最佳化

use epoll
登入後複製

6、調整單一進程最大連線數

worker_connections 20480;
登入後複製

7、nginx work進程最大開啟檔案數

worker_rlimit_nofile 65535;
登入後複製

8、開啟高效率檔案傳輸模式

sendfile on;
登入後複製

用於開啟檔案的高效傳輸模式,同時將tcp_nopush和tcp_nodelay兩個指令設定為on,可以防止網路及磁碟I/O阻塞,提升nginx工作效率。
9、最佳化連線逾時時間

keepalive_timeout 0;          //结束响应后立即断开tcp连接。
登入後複製

10、fastCGI最佳化

#11、設定nginx gzip壓縮實作效能最佳化

gzip on;
gzip_min_length 1k;
gzip_buffers 4 32k;
gzip_comp_level 9;
gzip_vary on;
登入後複製

12、設定nginx expires快取實作效能最佳化

nginx expires 3650d;
登入後複製

13、nginx日誌相關最佳化與安全性
14、根據拓展名限製程式和檔案存取。

dell all;allow all;
登入後複製

15、防盜鏈

HTTP referer
登入後複製

系統層面最佳化

1、系統層面最佳化

echo 500000 > /proc/sys/net/core/somaxconn  //设置最大连接数
echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle  //加快tcp回收
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse    //空的tcp允许回收利用
echo 0 > /proc/sys/net/ipv4/tcp_syncookies  //关闭洪水抵御
登入後複製

2、nginx&php-fpm最佳化設定
nginx將請求轉送給php-fpm處理,當nginx轉送很多請求時,php-fpm程序不夠用,就會產生子程序。
然而生成子程序需要內核來調度,比較耗時。
如果網站並發比較大,可以用靜態方式一次產生多個子進程,保持的記憶體中。
修改phjp-fpm.conf

pm=static //让php-fpm进程始终保持,不需要动态生成pm.max_children=32 始终保持的子进程数量
登入後複製

3、php&mysql優化
核心層面:加大連線數,加快tcp回收
mysql層面:增大連線數
php層面:用長連接,節省連接數
用記憶體快取(memcached),減輕mysql壓力
注意
記憶體快取適用於快取複雜的sql查詢。因為phpmemcached也要建立tcp連接,所以簡單的sql查詢不需要用快取。


以上是nginx管理設定最佳化的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!