在CentOS系统中配置PHP-FPM与Nginx协同工作,主要涉及以下几个步骤:
首先,确保你的CentOS系统已经安装了PHP-FPM和Nginx。你可以使用以下命令来安装它们:
sudo yum install epel-release
sudo yum install nginx php-fpm
PHP-FPM的配置文件通常位于 /etc/php-fpm.d/www.conf 或 /etc/php-fpm.conf。你需要确保PHP-FPM监听一个Unix套接字或TCP端口,以便Nginx可以连接。
编辑 /etc/php-fpm.d/www.conf 文件:
sudo vi /etc/php-fpm.d/www.conf
找到以下行并取消注释(删除行首的分号):
;listen = /run/php-fpm/www.sock
改为:
listen = /run/php-fpm/www.sock
确保Nginx配置中的 fastcgi_pass 指向这个套接字。
如果你更喜欢使用TCP端口,可以将 listen 行改为:
listen = 127.0.0.1:9000
然后在Nginx配置中使用 fastcgi_pass 指向这个端口:
fastcgi_pass 127.0.0.1:9000;
编辑Nginx的主配置文件 /etc/nginx/nginx.conf 或创建一个新的站点配置文件(例如 /etc/nginx/conf.d/default.conf)。
以下是一个基本的Nginx配置示例,用于处理PHP请求:
server {
listen 80;
server_name example.com; # 替换为你的域名或IP地址
root /var/www/html; # 替换为你的网站根目录
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php-fpm/www.sock; # 或 fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
启动并启用PHP-FPM和Nginx服务:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
sudo systemctl start nginx
sudo systemctl enable nginx
确保Nginx和PHP-FPM都在运行,并且能够正确处理PHP请求。你可以通过访问你的网站来验证这一点。如果一切配置正确,你应该能够看到PHP脚本的输出。
如果在配置过程中遇到问题,可以查看Nginx和PHP-FPM的日志文件以获取更多信息:
/var/log/nginx/error.log/var/log/php-fpm/error.log通过这些步骤,你应该能够在CentOS系统上成功配置PHP-FPM与Nginx协同工作。