在Linux系统中搭建PHP网页服务器,目前主流的方案有两种,一种是使用Apache作为Web服务器并搭配PHP模块,另一种是使用Nginx作为Web服务器搭配php_fpm服务。两种方案各有适用场景,下面分别介绍具体的搭建步骤。

方案一:Apache + PHP模块搭建
1. 环境准备
首先确保你使用的Linux系统已经更新了软件源,以Ubuntu/Debian系统为例,先执行更新命令:
sudo apt update sudo apt upgrade -y
如果是CentOS/RHEL系统,执行以下命令更新:
sudo yum update -y
2. 安装Apache和PHP
Ubuntu/Debian系统执行安装命令:
sudo apt install apache2 php libapache2-mod-php -y
CentOS/RHEL系统执行安装命令:
sudo yum install httpd php -y
3. 配置与启动服务
安装完成后,启动Apache服务并设置开机自启。Ubuntu/Debian系统命令:
sudo systemctl start apache2 sudo systemctl enable apache2
CentOS/RHEL系统命令:
sudo systemctl start httpd sudo systemctl enable httpd
如果需要允许外部访问,还需要开放80端口,Ubuntu/Debian系统使用ufw命令:
sudo ufw allow 80/tcp sudo ufw reload
CentOS/RHEL系统使用firewalld命令:
sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --reload
4. 测试验证
在Apache的默认网站根目录创建PHP测试文件,Ubuntu/Debian的根目录是/var/www/html/,CentOS/RHEL的根目录是/var/www/html/,创建test.php文件:
<?php phpinfo(); ?>
保存后,在浏览器中访问服务器IP地址加/test.php,比如http://192.168.0.1/test.php,如果能看到PHP信息页面,说明搭建成功。
方案二:Nginx + php_fpm搭建
1. 环境准备
同样先更新系统软件源,步骤和方案一的环境准备一致,这里不再重复。
2. 安装Nginx和php_fpm
Ubuntu/Debian系统执行安装命令:
sudo apt install nginx php-fpm -y
CentOS/RHEL系统执行安装命令:
sudo yum install nginx php-fpm -y
3. 配置Nginx转发PHP请求
安装完成后,修改Nginx的默认站点配置文件,Ubuntu/Debian系统的配置文件路径是/etc/nginx/sites-available/default,CentOS/RHEL系统的配置文件路径是/etc/nginx/nginx.conf或者/etc/nginx/conf.d/default.conf。
在配置文件的server块中添加PHP处理的配置,示例如下:
server {
listen 80;
server_name _;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
# 处理PHP请求的配置
location ~ .php$ {
include snippets/fastcgi-php.conf;
# 注意php_fpm的监听地址,Ubuntu/Debian一般是unix:/run/php/php-fpm.sock
# CentOS/RHEL一般是127.0.0.1:9000,需要根据实际安装情况调整
fastcgi_pass unix:/run/php/php-fpm.sock;
}
}
配置完成后,检查Nginx配置是否有语法错误:
sudo nginx -t
4. 启动服务并设置自启
Ubuntu/Debian系统执行命令:
sudo systemctl start nginx sudo systemctl enable nginx sudo systemctl start php-fpm sudo systemctl enable php-fpm
CentOS/RHEL系统执行命令:
sudo systemctl start nginx sudo systemctl enable nginx sudo systemctl start php-fpm sudo systemctl enable php-fpm
同样需要开放80端口,命令和方案一中的端口开放步骤一致。
5. 测试验证
在Nginx的默认网站根目录/var/www/html/下创建test.php文件,内容和方案一中的测试文件一致,保存后访问服务器IP加/test.php,看到PHP信息页面说明搭建成功。
两种方案的选择建议
如果你的项目是小型应用,或者对配置复杂度要求低,优先选择Apache加PHP模块的方案,配置更简单,兼容性更好。如果你的项目是高并发场景,或者需要更好的静态资源处理能力,优先选择Nginx加php_fpm的方案,性能表现更优。
搭建过程中如果遇到问题,可以先检查服务状态,查看对应的日志文件排查错误,Apache的日志路径一般是/var/log/apache2/,Nginx的日志路径一般是/var/log/nginx/,php_fpm的日志路径一般在/var/log/php-fpm/或者/var/log/php/目录下。