PHP編譯安裝後PHP-FPM使用筆記

來源:互聯網
上載者:User


今天趕上了123System OPenVZ VPS全場半價的機會,購入了一台512MB記憶體、雙核3.49Ghz Xeon E3-1270 V3 CPU的套餐,這是第一次使用123system的產品,整體印象非常不錯,就目前而言速度也是杠杠噠,便手動設定起了最新版的Tengine和PHP 5.6.8。在編譯完成之後我決定以PHP -FPM的方式來運行PHP,下面是從各處收集到並且重新整理的一些關於FPM使用的技巧,記錄一下方便自己與一些平時接觸到這方面工作的朋友吧!

1、安裝完之後,對php-conf的修改:
修改使用者組:

user = www-data
group = www-data
如果www-data使用者不存在,那麼執行linux命令先添加www-data使用者

groupadd www-data
useradd -g www-data www-data
部分參數解析:

pid = run/php-fpm.pid
#pid設定,預設在安裝目錄中的var/run/php-fpm.pid,建議開啟

error_log = log/php-fpm.log
#錯誤記錄檔,預設在安裝目錄中的var/log/php-fpm.log

log_level = notice
#錯誤層級. 可用層級為: alert(必須立即處理), error(錯誤情況), warning(警告情況), notice(一般重要訊息), debug(調試資訊). 預設: notice.

emergency_restart_threshold = 60
emergency_restart_interval = 60s
#表示在emergency_restart_interval所設值內出現SIGSEGV或者SIGBUS錯誤的php-cgi進程數如果超過 emergency_restart_threshold個,php-fpm就會優雅重啟。這兩個選項一般保持預設值。

process_control_timeout = 0
#設定子進程接受主進程複用訊號的逾時時間. 可用單位: s(秒), m(分), h(小時), 或者 d(天) 預設單位: s(秒). 預設值: 0.

daemonize = yes
#後台執行fpm,預設值為yes,如果為了調試可以改為no。在FPM中,可以使用不同的設定來運行多個進程池。 這些設定可以針對每個進程池單獨設定。

listen = 127.0.0.1:9000
#fpm監聽連接埠,即nginx中php處理的地址,一般預設值即可。可用格式為: 'ip:port', 'port', '/path/to/unix/socket'. 每個進程池都需要設定.

listen.backlog = -1
#backlog數,-1表示無限制,由作業系統決定,此行注釋掉就行。backlog含義參考:http://www.3gyou.cc/?p=41

listen.allowed_clients = 127.0.0.1
#允許訪問FastCGI進程的IP,設定any為不限制IP,如果要設定其他主機的nginx也能訪問這台FPM進程,listen處要設定成本地可被訪問的IP。預設值是any。每個地址是用逗號分隔. 如果沒有設定或者為空白,則允許任何伺服器請求串連
2、對Nginx.conf的fastcgi部分修改:

location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
3、PHP-FPM啟動相關參數

#測試php-fpm配置
/usr/local/php/sbin/php-fpm -t
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf -t

#啟動php-fpm
/usr/local/php/sbin/php-fpm
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf

#關閉php-fpm
kill -INT `cat /usr/local/php/var/run/php-fpm.pid`

#重啟php-fpm
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
4、Nginx的開啟與關閉

結束進程:fuser -k 80/tcp
啟動Nginx:sudo /usr/local/nginx/nginx

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.