您好,登錄后才能下訂單哦!
實驗環境如下:
node1 | Apache server | 10.1.12.12 |
node2 | php-fpm | 10.1.12.13 |
系統環境:centos 7
node1
Apache server確認有下面的模塊
~]# httpd -M |grep fcgi proxy_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
[root@s1 ~]# httpd -t [root@s1 ~]# systemctl start httpd.service [root@s1 ~]# 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時,記錄慢請求的數量
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。