在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进程的内存使用情况,找出问题所在并进行针对性的优化。