在CentOS 7上配置Nginx和PHP,可以创建一个高效、稳定的Web服务器环境,以下是一个全面且准确的指南,涵盖从安装到配置的所有步骤,并包括两个相关的FAQs。
CentOS 7 Nginx PHP 安装配置

一、准备工作
1、更新系统:确保你的系统软件包是最新的,打开终端并运行以下命令来更新YUM包管理器并升级所有已安装的软件包:
sudo yum update y
二、安装Nginx
2、安装Nginx:使用YUM安装Nginx,执行以下命令来安装Nginx:
sudo yum install nginx y
3、启动Nginx并设置开机自启:安装完成后,启动Nginx服务,并设置为开机自启动:
sudo systemctl start nginx sudo systemctl enable nginx
4、测试Nginx安装:在浏览器中访问http://your_server_ip,你应该会看到Nginx的欢迎页面,如果看到此页面,说明Nginx已成功安装。

三、安装PHP
5、安装EPEL和Remi仓库:为了安装最新版本的PHP,需要添加EPEL和Remi仓库:
sudo yum install epelrelease y sudo yum install http://rpms.remirepo.net/enterprise/remirelease7.rpm y
6、安装PHP及相关扩展:通过Remi仓库安装PHP及其常用扩展:
sudo yum install php phpfpm phpmysqlnd phpzip phpgd phpmbstring phpmcrypt phpxml phpjson y
四、配置PHPFPM
7、配置PHPFPM:编辑PHPFPM配置文件/etc/phpfpm.d/www.conf,修改以下参数以确保其正确运行:
user = nginx group = nginx listen = /run/phpfpm/phpfpm.sock
8、启动并设置PHPFPM开机自启:

sudo systemctl start phpfpm sudo systemctl enable phpfpm
五、配置Nginx解析PHP
9、配置Nginx:编辑Nginx配置文件/etc/nginx/nginx.conf或创建一个新的虚拟主机配置文件,例如/etc/nginx/conf.d/default.conf,添加以下内容:
server {
listen 80;
server_name your_domain_or_ip;
root /usr/share/nginx/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass unix:/run/phpfpm/phpfpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}10、重启Nginx:
sudo systemctl restart nginx六、测试配置
11、创建测试PHP文件:在默认网站目录下创建一个名为info.php的文件:
sudo vi /usr/share/nginx/html/info.php添加以下内容到文件中:
<?php
phpinfo();
?>12、测试PHP:在浏览器中访问http://your_server_ip/info.php,你应该会看到PHP信息页面,表示PHP已成功安装并能正常运行。
相关FAQs
Q1: 如何更改Nginx监听的端口数?
A1: 要更改Nginx监听的端口号,你需要编辑Nginx的主配置文件/etc/nginx/nginx.conf或者特定的虚拟主机配置文件,找到listen指令并将其改为你想要的端口号,将listen 80;改为listen 8080;,然后重新启动Nginx服务使更改生效:
sudo systemctl restart nginx
更改监听端口后,防火墙规则也需要相应更新以允许新端口的流量,可以使用以下命令开放新端口:
sudo firewallcmd zone=public addport=8080/tcp permanent sudo firewallcmd reload
Q2: PHPFPM进程占用内存过高怎么办?
A2: 如果PHPFPM进程占用过多内存,可以尝试以下几种方法来优化:
1、调整PHPFPM的进程池配置:编辑/etc/phpfpm.d/www.conf文件,调整pm.max_children(最大子进程数)和pm.start_servers(启动时开启的子进程数量),以及pm.min_spare_servers和pm.max_spare_servers(最小和最大空闲服务器数量),根据服务器的负载情况进行调整。
2、优化PHP代码:检查PHP脚本是否存在内存泄漏或不必要的大数据处理,优化代码以减少内存使用。
3、使用Opcache:安装并启用PHP Opcache,这是一个PHP代码缓存器,可以显著提高PHP脚本的执行速度并减少内存消耗,可以通过添加以下内容到/etc/php.ini文件中来启用Opcache:
[opcache] opcache.enable=1 opcache.memory_consumption=128 opcache.interned_dir=/tmp
4、监控和分析:使用工具如top、htop或valgrind等监控PHPFPM进程的内存使用情况,找出问题所在并进行针对性的优化。
