您好,登錄后才能下訂單哦!
說明:/usr/local/php/etc/php-fpm.conf 用于管理php服務
/usr/local/php/etc/php.ini php本身的全局配置文件
一、清空配置文件
清空命令: > /usr/local/php/etc/php-fpm.conf
二、編輯新的文件/usr/local/php/etc/php-fpm.conf
說明:www表示pool的名字;新增的pool,除了名字和sock不能相同,其他可以一致;不同主機,可以在配置文件中指定不同的pool,即指定不同的監聽方式:fastcgi_pass unix:/tmp/php-fcgi.sock
內容如下:
[global] pid = /usr/local/php/var/run/php-fpm.pid error_log = /usr/local/php/var/log/php-fpm.log [www] listen = /tmp/www.sock user = php-fpm group = php-fpm listen.owner = nobody listen.group = nobody pm = dynamic pm.max_children = 50 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 500 rlimit_files = 1024 slowlog = /tmp/www_slow.log request_slowlog_timeout = 1 php_admin_value[open_basedir]=/data/www/:/tmp/ [www1] listen = /tmp/www1.sock user = php-fpm group = php-fpm pm = dynamic pm.max_children = 50 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 500 rlimit_files = 1024
解釋:
listen = /tmp/php-fcgi.sock #較多采用socket監聽方式,名字可自定義,默認是127.0.0.1:9000 listen.owner = nobody #nginx中默認監聽的socket文件權限是所有者只讀,屬組和其他用戶沒有任何權限。所以,nginx的啟動用戶(咱們配置的是nobody)就沒有辦法去讀這個socket文件,最終可能會導致502;或者配置listen.mode = 0666 listen.group = nobody pm = dynamic #動態,管理pm子進程,如果寫成static,則除了pm.max_children,其他不管用 pm.max_children = 50 #子進程最大50個,由于php是阻塞的,1個進程只能同時處理一個php請求,max_children設置高可以同時處理更多的請求,但也意味著會占用更多的服務器資源 pm.start_servers = 20 #一開始啟動20個 pm.min_spare_servers = 5 #空閑時,最小為5個 pm.max_spare_servers = 35 #空閑時,最多為35個 pm.max_requests = 500 #一個子進程在生命周期內共處理多少個請求,自動銷毀,可以解決php內存泄露的問題。但如果這個值設置太小,造成php頻繁重啟,也會對性能造成影響 rlimit_files = 1024 #每一個進程所使用的文件描述符限制 slowlog = /tmp/www_slow.log # 增加slow日志,當網絡訪問慢時,可以查看該日志 request_slowlog_timeout = 1 # 當腳本執行時間超過1秒鐘,就記錄 php_admin_value[open_basedir]=/data/www/:/tmp/ # 用于不同域名來限制訪問目錄
三、pool池的體現
說明:根據配置文件,php-fpm可以啟動多個pool池,分給不同的主機用,默認啟動20個,如沒有請求,則會一點一點損耗;不同的域名也可以使用相同的池子;分開的話,權限可以分開,一旦池子出現故障,可以避免其他網站同時掛掉
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。