[LNMP]php-fpm生產(chǎn)環(huán)境配置

基礎(chǔ)環(huán)境

centos 6.x

安裝&啟動

目前php5.4 以上需編譯安裝(或remi源安裝),本文檔只針對php5.3版本,yum安裝需配置epel的源,yum源配置詳見[LNMP]Linux的Web服務(wù)基礎(chǔ)配置
<pre>
yum install -y phpphp-fpm php-cli php-common php-pdo php-mysql php-mbstring php-mcrypt php-gdphp-xml php-pear php-pecl-apc php-pecl-memcache
chkconfig php-fpm on
service php-fpm start
</pre>

配置

php配置

由于php 配置較多,以下只列出生產(chǎn)環(huán)境需要配置的部分(檢查以下配置),文件路徑:/etc/php.ini
<pre>
;debug、error、版本顯示相關(guān)配置
error_reporting =E_ALL & ~E_DEPRECATED
display_errors =Off
display_startup_errors= Off
log_errors = On
track_errors = Off
html_errors = Off
mysqlnd.collect_memory_statistics= Off
session.bug_compat_42= Off
session.bug_compat_warn= Off

;安全相關(guān)配置
short_open_tag =Off
expose_php = Off
enable_dl = Off
disable_functions= eval,passthru,exec,system,chroot,scandir,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,ini_set,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru

;時區(qū)配置
date.timezone =Asia/Shanghai

;上傳文件大小限制
post_max_size =16M
upload_max_filesize= 16M

;腳本執(zhí)行時間限制
max_execution_time= 60
max_input_time =60

;腳本內(nèi)存限制,一般設(shè)為128M,如非必要(無可避免的上傳大文件/處理大數(shù)組)不增加

memory_limit =128M
</pre>

php-fpm配置

公共配置:/etc/php-fpm.conf,需要修改的參數(shù)如下,其余參數(shù)使用默認(rèn)值
<pre>
;設(shè)置pid
pid =/var/run/php-fpm/php-fpm.pid

;錯誤日志處理
error_log =/var/log/php-fpm/error.log
log_level = notice

;異常自啟(表示60s內(nèi)出現(xiàn) 60次 SIGSEGV orSIGBUS 異常時候,自動重啟)
emergency_restart_threshold= 60
emergency_restart_interval= 60s

;設(shè)置子進(jìn)程接受主進(jìn)程復(fù)用信號的超時時間
process_control_timeout= 0

;后臺執(zhí)行php-fpm
daemonize = yes
</pre>

資源池配置

在/etc/php-fpm.d/*.conf(每個文件代表一個資源池,機(jī)器性能足夠時候,可以區(qū)分多個資源池,隔絕不同的php應(yīng)用),默認(rèn)是 /etc/php-fpm.d/www.conf,需要修改的參數(shù)如下,其余參數(shù)使用默認(rèn)值
<pre>
[www]
;監(jiān)聽方式,用tcp方式較穩(wěn)定
listen = 127.0.0.1:9000

;backlog,排隊(duì)長度設(shè)置
listen.backlog = 4096

;php-fpm進(jìn)程的用戶&用戶組(即程序讀寫文件/目錄所使用的用戶&用戶組)
user = nobody
group = nobody

;設(shè)置php-fpm進(jìn)程,一般大于8G內(nèi)存建議用 static 模式,max_children的計算方式,每個php-fpm進(jìn)程約占 20~30M 的內(nèi)存,根據(jù)預(yù)計給php-fpm的內(nèi)存計算出合理值,例如預(yù)計給php-fpm 預(yù)留6G使用內(nèi)存,那max_children 應(yīng)設(shè)置為 200~300 之間
pm = static
pm.max_children = 300

;子進(jìn)程接收n個請求后,自動重啟
pm.max_requests = 600

;慢處理日志,表示超過45秒則記錄為慢處理
request_slowlog_timeout = 45s
slowlog = /var/log/php-fpm/www-slow.log
</pre>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.LAMP介紹 ? LAM(M)P:L: linuxA: apache (httpd)M: mysql, mar...
    尛尛大尹閱讀 1,249評論 0 1
  • 更改ip和dnsVi /etc/sysconfig/network-scripts/ifcfg-eth0vi /...
    Xwei_閱讀 2,057評論 0 3
  • 一.nginx安裝1.下載對應(yīng)當(dāng)前系統(tǒng)版本的nginx包(package)? wget http://nginx....
    code_nerd閱讀 232評論 0 0
  • 系統(tǒng)環(huán)境 所需軟件官方下載地址: 一、 安裝開發(fā)包環(huán)境: 二、 關(guān)閉iptables和Selinux(生產(chǎn)...
    莫名其妙的一生閱讀 1,420評論 0 4
  • ??上周單位組織去療休養(yǎng),和同事朋友去了武義。畢竟很多空閑時間,也不能光打游戲,所以在亞馬遜上充了20元,買了這本...
    大洪閱讀 187評論 0 0

友情鏈接更多精彩內(nèi)容