標籤:筆記
實驗環境如下:
node1
|
Apache server |
10.1.12.12 |
| node2 |
php-fpm |
10.1.12.13 |
系統內容:centos 7
node1
Apache server確認有下面的模組
~]# httpd -M |grep fcgiproxy_fcgi_module (shared)
定義一個虛擬機器主機
~]# vi /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80> ServerName www.blackCao.com DocumentRoot "/web/www" CustomLog logs/black_access.log conbaind ErrorLog logs/black_error.log <Directory "/web/www"> Options none AllowOverride none Require all granted </Directory> ProxyRequests off ProxypassMatch ^/(ping|status|.*\.php)$ fcgi://10.1.12.13:9000/data/application/$1 DirectoryIndex index.php</VirtualHost>
ProxyPassMatch 將前端ping|status|PHP結尾的請求都轉寄至後端的PHP伺服器後端網頁存放位置自訂;
建立PHP狀態頁的設定檔
]# vi /etc/httpd/conf.d/status.conf<Directory /status> SetHandler Status-server Require all granted</Directory>
建立虛擬機器主機首頁目錄
]# mkdir -pv /web/www
[[email protected] ~]# httpd -t[[email protected] ~]# systemctl start httpd.service[[email protected] ~]# ss -tnl
檢查文法,啟動服務,查看連接埠是否監聽正常,
node2
~]# vi /etc/php-fpm.d/listen = 10.1.12.13:9000 必須監聽在一個能與外網通訊的外部地址的連接埠listen.allowed_clients = 10.1.12.12 IP為http server主機的pm.status_path = /status PHP的狀態頁ping.path = /ping 可檢查PHP服務是否正常ping.response = pong 上面ping的回應,pong說明正常,不響應說明有問題
建立web檔案存放目錄(對應上面虛擬機器裡定義的路徑)
~]# mkdir -p /data/application~]# vi /data/application/index.php<?php phpinfo();?>
配置完成,啟動服務查看9000連接埠是否在監聽狀態
php-fpm的配置選項
listen.backlog = -1
假如串連池定義最多能有50個串連,當來了55個的時候。這個選項定義這個後援隊列的長度,-1表示不限制,如果記憶體不夠用的時候可能會做修改
pm = dynamic
定義processor管理機制:static(使用一個固定的子進程數量)
dynamic(使用可變的子進程數量)
pm.max_children:最大子進程數量;串連池的最大容量;
pm.start_servers:服務啟動時所啟動的子進程數量;
pm.min_spare_servers最少空閑子進程數
pm.max_spare_servers最大空閑子進程數
rlimit_files = 1024所能開啟的檔案的數量,每個串連需要一個通訊端檔案,最多隻有50個
rlimit_core = 0核心所能使用的記憶體空間大小,0表示不作限制
pm.status_path = /status
ping.path = /ping監控fpm的工作是否正常
ping.response = pong
php_value[session.save_path] = /var/lib/php/session session的儲存位置
status輸出資訊
pool:www #串連池名稱
process manager: dynamic #進程管理器類型
start time: 11/Oct/2016:11:22:04 +0800 #啟動日期時間
start since:917 # 運行時間長度
accepted conn: 9 # 串連池已經處理過的請求數
listen queue: 0 # 請求隊列長度
max listen queue: 0 # 請求隊列的最大長度
listen queue len: 128 # socket等待隊列的長度
idle processes: 4 # 空閑進程數量
active processes: 1 # 活躍的進程數量
total processes: 5 # 串連池中的總進程數量
max active processes: 2 # 串連池中最大的活躍進程數量
max children reached: 0 # 達到串連池中最大進程數量限制的上限的次數
slow requests: 0 : 啟用了slow-log時,記錄慢請求的數量
本文出自 “傳說中的豬” 部落格,請務必保留此出處http://cszdz.blog.51cto.com/11892760/1879342
Apache+php-fpm