在CentOS系统中,将PHP-FPM与Nginx进行联调是一个常见的配置任务,以便Nginx可以正确地处理PHP请求。以下是详细的步骤指南:
1. 安装Nginx和PHP-FPM
首先,确保你已经安装了Nginx和PHP-FPM。你可以使用以下命令来安装它们:
sudo yum install epel-release
sudo yum install nginx php-fpm
2. 启动并启用Nginx和PHP-FPM服务
启动Nginx和PHP-FPM服务,并设置它们在系统启动时自动启动:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
3. 配置Nginx以处理PHP请求
编辑Nginx的配置文件,通常位于 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/default.conf。以下是一个基本的配置示例:
server {
listen 80;
server_name your_domain.com; # 替换为你的域名或IP地址
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:/var/run/php-fpm/php-fpm.sock; # 使用Unix套接字
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
4. 配置PHP-FPM
编辑PHP-FPM的配置文件,通常位于 /etc/php-fpm.d/www.conf。确保以下配置项正确:
; 监听的Unix套接字
listen = /var/run/php-fpm/php-fpm.sock
; 监听的TCP端口(可选)
; listen = 127.0.0.1:9000
; 用户和组
user = nginx
group = nginx
; PM(进程管理)配置
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
5. 重启Nginx和PHP-FPM服务
应用配置更改后,重启Nginx和PHP-FPM服务:
sudo systemctl restart nginx
sudo systemctl restart php-fpm
6. 测试配置
创建一个简单的PHP文件来测试配置是否正确。在 /var/www/html 目录下创建一个名为 info.php 的文件,并添加以下内容:
phpinfo();
?>
然后在浏览器中访问 http://your_domain.com/info.php。如果一切配置正确,你应该会看到PHP的信息页面。
7. 防火墙配置
确保防火墙允许HTTP和HTTPS流量。你可以使用以下命令来打开这些端口:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
8. SELinux配置(可选)
如果你的系统启用了SELinux,可能需要调整一些策略以允许Nginx和PHP-FPM正常工作。你可以临时禁用SELinux进行测试:
sudo setenforce 0
如果一切正常,你可以考虑配置SELinux策略以允许Nginx和PHP-FPM的通信。
通过以上步骤,你应该能够成功地将PHP-FPM与Nginx联调,并使Nginx能够正确处理PHP请求。
以上就是关于“centos中php-fpm与nginx如何联调”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm