在CentOS上配置PHP-FPM(FastCGI Process Manager)通常涉及以下幾個步驟:
安裝PHP和PHP-FPM:
首先,你需要安裝PHP以及PHP-FPM。你可以使用yum
包管理器來安裝它們。
sudo yum install epel-release
sudo yum install php php-fpm
配置PHP-FPM:
安裝完成后,你需要配置PHP-FPM。PHP-FPM的配置文件通常位于/etc/php-fpm.d/
目錄下,主要的配置文件是www.conf
。
sudo vi /etc/php-fpm.d/www.conf
在這個文件中,你可以配置以下參數:
user
和 group
:指定運行PHP-FPM進程的用戶和組。listen
:指定PHP-FPM監聽的地址和端口。例如,/run/php-fpm/www.sock
或 127.0.0.1:9000
。pm
:指定進程管理方式,常用的有dynamic
、static
、ondemand
等。pm.max_children
、pm.start_servers
、pm.min_spare_servers
、pm.max_spare_servers
:這些參數用于控制進程管理。例如,如果你想讓PHP-FPM監聽Unix socket,可以這樣配置:
listen = /run/php-fpm/www.sock
listen.owner = apache
listen.group = apache
user = apache
group = apache
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
啟動和啟用PHP-FPM服務: 配置完成后,你可以啟動PHP-FPM服務并設置開機自啟動。
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
配置Web服務器: 如果你使用的是Apache或Nginx作為Web服務器,你需要配置它們以使用PHP-FPM處理PHP請求。
Apache:
確保啟用了mod_proxy_fcgi
模塊,并在虛擬主機配置中添加以下內容:
<FilesMatch \.php$>
SetHandler "proxy:fcgi://localhost:9000"
</FilesMatch>
Nginx: 在Nginx配置文件中添加以下內容:
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
重啟Web服務器: 最后,重啟你的Web服務器以應用更改。
Apache:
sudo systemctl restart httpd
Nginx:
sudo systemctl restart nginx
完成以上步驟后,你的CentOS系統應該已經成功配置了PHP-FPM,并且可以通過Web服務器處理PHP請求了。