Nginx PHP FPM配置及優化指南(上)

2021-06-07 16:53:00 字數 2444 閱讀 2368

本文介紹在centos5.8/6.2&&redhat(rhel) 5.8/6.2下lemp/lnmp環境下的nginx&&php-fpm的web伺服器配置及優化指南。

截至目前,各軟體版本為

如果您還沒有搭建lemp環境,可以參照我之前寫過一篇文章 lemp(或lnmp)高效能的web伺服器在centos6.2/5.8下的yum搭建流程。在"lemp搭建指南"中我只給出了nginx&&php-fpm最基本的配置說明。

在本文中將更深入的介紹nginx&&php-fpm的web伺服器配置。

nginx 配置檔案也可以參考:

nginx&&php-fpm配置及優化指南(上)

nginx的配置檔案放在/etc/nginx路徑之下,執行ls -l /etc/nginx 輸出

total 36

drwxr-xr-x. 2 root root 4096 jul 11 19:52 conf.d

-rw-r--r--. 1 root root 964 jul 3 19:53 fastcgi_params

-rw-r--r--. 1 root root 2837 jul 3 19:53 koi-utf

-rw-r--r--. 1 root root 2223 jul 3 19:53 koi-win

-rw-r--r--. 1 root root 3463 jul 3 19:53 mime.types

-rw-r--r--. 1 root root 643 jul 3 19:50 nginx.conf

-rw-r--r--. 1 root root 596 jul 3 19:53 scgi_params

-rw-r--r--. 1 root root 623 jul 3 19:53 uwsgi_params

-rw-r--r--. 1 root root 3610 jul 3 19:53 win-utf

#執行使用者

user nginx;

#程序數目,通常設定成和cpu的數量相等

worker_processes 1;

#全域性錯誤日誌

error_log /var/log/nginx/error.log warn;

#pid檔案

pid /var/run/nginx.pid;

#工作模式及連線數上限

events

#設定http伺服器,利用它的反向**功能還可以提供負載均衡支援

nginx&&php-fpm配置及優化指南(上)

1. worker_processes及 worker_connections配置

預設配置中worker_processes及 worker_connections的數目有點小,只能應付1000次/秒以內的請求。

#預設配置

worker_processes 1;

worker_connections 1024;

通常情況下,worker_processes設定為cpu數目,worker_connections保持1024即可。你可以使用cat /proc/cpuinfo |grep processor來檢視cpu數量

2. 隱藏ngnix版本資訊

server_tokens off;

3. 拒絕web訪問系統隱藏檔案

location ~ /\.

4. 限制最大檔案上傳大小 

client_max_body_size 20m;

client_body_buffer_size 128k;

5. nginx靜態檔案快取控制

瀏覽器快取非常有利於節省頻寬,在nginx中非常容易配置

6. ngnix**php請求至php-fpm

# pass php scripts to php-fpm

location ~* \.php$

7. 開啟gzip壓縮

nginx&&php-fpm配置及優化指南(上)

nginx php fpm記憶體配置問題

nginxphp fpm配置過程中最大問題是內洩漏出問題 伺服器的負載不大,但是記憶體占用迅速增加,很快吃掉記憶體接著開始吃交換分割槽,系統很快掛掉!google了一天,終於發現些有用的東西,其實根據官方的介紹,php cgi不存在記憶體洩漏,每個請求完成後php cgi會 記憶體,但是不會釋放給作...

nginxphp fpm安裝配置

安裝前準備 centos下執行 yum y install gcc automake autoconf libtool make yum y install gcc gcc c glibc yum y install libmcrypt devel mhash devel libxslt devel...

nginx php fpm的socket配置小結

關於socket的介紹本文不再贅述,生產環境中常用socket方式,本文簡述其配置方式。mkdir run chmod 777 run chown r www www run vi etc php.ini 儲存退出 vi etc php fpm.conf 儲存退出 cd cd nginx vi co...