CentOS安装PHP和Nginx的步骤如下:
1、更新yum源:首先需要更新yum源,确保能够获取到最新的软件包,可以通过以下命令进行更新:

- sudo yum update
2、安装Nginx:使用yum命令安装Nginx:
- sudo yum install nginx y
安装完成后,启动Nginx服务并设置开机自启动:
- sudo systemctl start nginx
- sudo systemctl enable nginx
3、安装PHP:接下来安装PHP及其相关组件,这里以安装PHP 7.4为例:
- sudo yum install epelrelease y
- sudo yum install http://rpms.remirepo.net/enterprise/remirelease7.rpm y
- sudo yum install yumutils y
- sudo yumconfigmanager enable remiphp74
- sudo yum update y
- sudo yum install php phpfpm phpmysqlnd phpzip phpgd phpmbstring phpmcrypt phpxml phpjson y
安装完成后,可以查看PHP版本:
- php v
4、配置PHPFPM:编辑PHPFPM配置文件/etc/phpfpm.d/www.conf
,修改以下参数:
- user = nginx
- group = nginx
- listen = /run/phpfpm/phpfpm.sock
确保以下两行代码没有被注释:

- pid = /run/phpfpm/phpfpm.pid
- error_log = /var/log/phpfpm/error.log
重启PHPFPM服务:
- sudo systemctl restart phpfpm
5、配置Nginx解析PHP:创建一个新的NGINX配置文件/etc/nginx/conf.d/default.conf
,将以下代码复制进去:
- server {
- listen 80;
- server_name example.com; # 将example.com替换为自己的域名或IP地址
- # 静态文件缓存默认过期时间
- expires 7d;
- # 静态文件缓存目录配置
- location ~* \.(?:css|js|png|gif|jpe?g|svg|woff|woff2|ttf|eot|ico)$ {
- access_log off; # 禁用日志
- add_header CacheControl "public, maxage=604800, immutable"; # 缓存配置
- add_header XFrameOptions "SAMEORIGIN";
- expires 7d;
- try_files $uri =404;
- }
- # PHP 配置
- location ~ \.php$ {
- fastcgi_pass unix:/run/phpfpm/phpfpm.sock;
- fastcgi_index index.php;
- fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
- fastcgi_param HTTP_PROXY "";
- include fastcgi_params;
- }
- # 静态文件代理
- location / {
- proxy_pass http://127.0.0.1:8080; # 将8080替换为自己的端口号
- proxy_set_header Host $http_host;
- proxy_set_header XRealIP $remote_addr;
- proxy_set_header XForwardedFor $proxy_add_x_forwarded_for;
- }
- }
修改server_name
和fastcgi_param
参数,确保它们匹配您的域名或IP地址和PHP安装位置,重启Nginx服务:
- sudo systemctl restart nginx
6、测试:在/usr/share/nginx/html
目录下创建一个PHP文件index.php
,并将以下代码粘贴到文件中:
- <?php
- phpinfo();
- ?>
在浏览器中访问您的域名或IP地址,应出现PHP信息页面,表示已成功设置PHP+Nginx环境。
以下是两个常见问题及其解答:
1、问题:如何检查PHP是否与Nginx正确集成?
解答:在/usr/share/nginx/html
目录下创建一个名为info.php
的文件,内容为<?php phpinfo(); ?>
,然后在浏览器中访问http://your_domain_or_ip/info.php
,如果看到PHP信息页面,说明PHP与Nginx已正确集成。
2、问题:如何解决Nginx无法启动的问题?
解答:首先检查Nginx的错误日志,通常位于/var/log/nginx/error.log
,根据错误信息进行相应的修复,常见的问题包括配置文件语法错误、端口冲突等,可以使用systemctl status nginx
命令查看Nginx的状态,使用systemctl restart nginx
命令重启Nginx服务。