在Linux上配置PHP-FPM(FastCGI Process Manager)通常涉及以下几个步骤:
首先,你需要安装PHP-FPM。你可以使用包管理器来安装,例如在Debian/Ubuntu系统上:
sudo apt update
sudo apt install php-fpm
在CentOS/RHEL系统上:
sudo yum install php-fpm
安装完成后,你需要配置PHP-FPM。PHP-FPM的配置文件通常位于/etc/php/{version}/fpm/目录下,其中{version}是PHP的版本号。
主要配置文件包括:
php-fpm.conf:主配置文件。www.conf:与Web服务器通信的配置文件。php-fpm.conf你可以根据需要修改php-fpm.conf文件。例如,你可以设置进程管理器类型、进程数量等。
; 设置进程管理器类型
pm = dynamic
; 最小空闲进程数
pm.min_spare_servers = 5
; 最大空闲进程数
pm.max_spare_servers = 35
; 启动时的进程数
pm.start_servers = 5
; 最大进程数
pm.max_children = 50
; 最大请求数
pm.max_requests = 500
www.confwww.conf文件主要配置了PHP-FPM与Web服务器的通信方式。你需要确保监听地址和端口正确。
; 监听地址
listen = /run/php/php{version}-fpm.sock
; 监听权限
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
; 用户和组
user = www-data
group = www-data
安装并配置完成后,你可以启动PHP-FPM服务并设置开机自启。
在Debian/Ubuntu系统上:
sudo systemctl start php{version}-fpm
sudo systemctl enable php{version}-fpm
在CentOS/RHEL系统上:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
你需要配置你的Web服务器(如Nginx或Apache)以使用PHP-FPM处理PHP请求。
在Nginx中,你需要配置一个location块来处理PHP文件。
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php{version}-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
在Apache中,你需要启用mod_proxy_fcgi模块并配置一个ProxyPass指令。
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:fcgi://unix:/run/php/php{version}-fpm.sock"
</FilesMatch>
</VirtualHost>
最后,重启你的Web服务器以应用配置更改。
在Debian/Ubuntu系统上:
sudo systemctl restart nginx
在CentOS/RHEL系统上:
sudo systemctl restart httpd
完成以上步骤后,你的PHP-FPM应该已经成功配置并运行在你的Linux系统上了。