Nginx優化有很多種,在這裡推薦兩種方式。
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模型。
1、具體參數如下在最佳化4下邊挨著:
events { use epoll; worker_connections 1024; }
nginx日誌相關最佳化與安全性
1、設定日誌切割腳本並寫入計劃任務
cd /server/scripts/ cat cut_nginx_log.sh #!/bin/sh cd /app/logs mv www_access.log www_access_$(date +%F -d -1day).log mv bbs_access.log bbs_access_$(date +%F -d -1day).log mv blog_access.log blog_access_$(date +%F -d -1day).log /application/nginx/sbin/nginx -s reload cat >>/var/spool/cron/root>>eof 00 00 * * * /bin/sh /server/scripts/cut_nginx_log.sh >/dev/null 2>&1 eof
不記錄不需要的訪問日誌
對於健康檢查或某些(圖片,js,css)日誌,一般不記錄日誌,因為在統計PV時是按照頁面計算,而且日誌寫入頻繁會消耗磁碟IO,降低伺服器效能。
location ~ .*\.(js|jpg|JPG|jpeg|JPEG|css|bmp|gif|GIF)$ { access_log off; }
存取日誌的權限設定
假設日誌目錄為/app/logs,則授權
chown -R root.root /app/logs chmod -R 700 /app/logs
不需要再日誌目錄給nginx使用者讀取或寫入許可。因為nginx的master進程是root,不要擔心權限不夠寫不進去日誌
更多Nginx相關技術文章,請訪問Nginx使用教程欄目進行學習!
以上是nginx優化有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!