准备工作:在开始之前
-
系统更新:建议将你的系统更新到最新状态,确保所有软件包都是最新的。
(图片来源网络,侵删)sudo yum update -y
-
获取管理员权限:以下命令大部分都需要
sudo权限来执行。 -
检查防火墙:CentOS 7 默认使用
firewalld防火墙,你需要开放 Web 服务器使用的端口(HTTP 默认为 80,HTTPS 默认为 443)。# 永久开放 HTTP (80) 端口 sudo firewall-cmd --permanent --add-service=http # 永久开放 HTTPS (443) 端口 sudo firewall-cmd --permanent --add-service=https # 重新加载防火墙使配置生效 sudo firewall-cmd --reload
安装 Apache HTTP Server (httpd)
Apache 是最经典、使用最广泛的 Web 服务器之一,稳定可靠,配置简单。
安装 Apache
使用 yum 包管理器进行安装:

sudo yum install httpd -y
启动并设置开机自启
安装完成后,启动 Apache 服务,并设置它为开机自动启动,这样服务器重启后 Web 服务也会自动运行。
# 启动 Apache 服务 sudo systemctl start httpd # 设置开机自启 sudo systemctl enable httpd
检查服务状态
你可以检查 Apache 服务的当前状态,确保它正在运行。
sudo systemctl status httpd
如果看到绿色的 active (running) 字样,说明服务已成功启动。
测试安装
你可以通过浏览器访问你的服务器的 IP 地址来测试 Apache 是否工作正常。

-
如何获取服务器 IP 地址?
ip addr show
找到你的网卡(如
eth0或enp0s3),其下的inet后面的地址就是你的 IP。 -
在浏览器中访问: 打开浏览器,输入
http://<你的服务器IP地址>。如果看到 Apache 的默认欢迎页面(上面写着 "Testing 123..." 和 "Apache 2.4.6 Test Page"),恭喜你,Apache 已经成功安装并运行了!
重要目录和文件说明
-
网站根目录:
/var/www/html/- 你所有的网站文件都应放在这个目录下,默认情况下,访问服务器根路径就是显示这个目录下的
index.html文件。 - 你可以创建一个测试文件来验证:
# 创建一个简单的测试页面 sudo echo "<h1>Hello from Apache on CentOS 7!</h1>" > /var/www/html/index.html
然后刷新浏览器,你应该能看到你刚刚创建的页面。
- 你所有的网站文件都应放在这个目录下,默认情况下,访问服务器根路径就是显示这个目录下的
-
主配置文件:
/etc/httpd/conf/httpd.conf这是 Apache 的核心配置文件,你可以在这里修改端口、网站根目录等全局设置。
-
虚拟主机配置目录:
/etc/httpd/conf.d/- 如果你需要托管多个网站(虚拟主机),可以在这个目录下创建
.conf文件,mywebsite.conf。
- 如果你需要托管多个网站(虚拟主机),可以在这个目录下创建
安装 Nginx
Nginx (Engine-X) 是一个高性能的 Web 服务器和反向代理服务器,近年来非常流行,尤其擅长处理高并发请求。
安装 Nginx
CentOS 7 官方源中的 Nginx 版本可能比较旧,为了获得最新版本和更好的稳定性,我们推荐使用 EPEL (Extra Packages for Enterprise Linux) 仓库。
-
首先安装 EPEL 仓库:
sudo yum install epel-release -y
-
然后安装 Nginx:
sudo yum install nginx -y
启动并设置开机自启
# 启动 Nginx 服务 sudo systemctl start nginx # 设置开机自启 sudo systemctl enable nginx
检查服务状态
sudo systemctl status nginx
同样,确保看到 active (running) 状态。
测试安装
-
在浏览器中访问: 打开浏览器,输入
http://<你的服务器IP地址>。如果看到 Nginx 的默认欢迎页面(上面写着 "Welcome to nginx!"),说明 Nginx 已经成功安装。
重要目录和文件说明
-
网站根目录:
/usr/share/nginx/html/- 类似于 Apache,这是默认的网站文件存放位置。
- 你也可以创建一个测试文件来验证:
# 创建一个简单的测试页面 sudo echo "<h1>Hello from Nginx on CentOS 7!</h1>" > /usr/share/nginx/html/index.html
-
主配置文件:
/etc/nginx/nginx.confNginx 的核心配置文件。
-
虚拟主机配置目录:
/etc/nginx/conf.d/- Nginx 的虚拟主机配置文件也放在这里,默认会有一个
default.conf示例文件。
- Nginx 的虚拟主机配置文件也放在这里,默认会有一个
安装 LEMP (Linux, Nginx, MariaDB, PHP)
现代 Web 应用(如 WordPress, Drupal)通常需要一个后端数据库和 PHP 支持,LEMP 是一个非常流行的组合。
我们将在 Nginx 的基础上,安装 MariaDB (MySQL 的一个分支) 和 PHP。
安装 MariaDB 数据库
sudo yum install mariadb-server mariadb -y
启动并设置 MariaDB 开机自启
sudo systemctl start mariadb sudo systemctl enable mariadb
安全初始化 MariaDB
强烈建议运行安全脚本,它会设置 root 密码、移除匿名用户等。
sudo mysql_secure_installation
按照提示操作即可,对于大多数问题,直接按 Enter 键选择默认值(Y)是安全的。
安装 PHP 及与 Nginx 的连接模块
我们需要安装 PHP-FPM (FastCGI Process Manager),它能让 Nginx 处理 PHP 文件。
# 安装 PHP-FPM 和一些常用扩展 sudo yum install php-fpm php-mysql php-gd php-xml php-mbstring -y
配置 Nginx 支持 PHP
我们需要编辑 Nginx 的默认虚拟主机配置文件,让它将 .php 文件请求转发给 PHP-FPM 处理。
sudo vi /etc/nginx/conf.d/default.conf
找到类似下面的 location ~ \.php$ 块,并确保其配置正确,特别是 root 和 fastcgi_param 中的 SCRIPT_FILENAME。
# ... 其他配置 ...
location ~ \.php$ {
root /usr/share/nginx/html; # 确保和网站根目录一致
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 这一行非常重要!
include fastcgi_params;
}
# ... 其他配置 ...
保存并退出文件 (wq)。
启动 PHP-FPM 并设置开机自启
sudo systemctl start php-fpm sudo systemctl enable php-fpm
重启 Nginx 使配置生效
sudo systemctl restart nginx
测试 PHP
创建一个 PHP 测试文件,用于验证 Nginx 和 PHP 是否能正常协同工作。
sudo vi /usr/share/nginx/html/info.php
在文件中输入以下内容:
<?php phpinfo(); ?>
保存并退出。
现在在浏览器中访问 http://<你的服务器IP地址>/info.php,如果看到一个详细的 PHP 信息页面,说明你的 LEMP 环境已经成功搭建!
安全提示:测试完成后,为了安全起见,建议删除这个 info.php 文件,因为它会暴露你的 PHP 环境信息。
sudo rm /usr/share/nginx/html/info.php
| 步骤 | Apache (httpd) | Nginx |
|---|---|---|
| 安装 | sudo yum install httpd -y |
sudo yum install epel-release -y sudo yum install nginx -y |
| 启动 | sudo systemctl start httpd |
sudo systemctl start nginx |
| 开机自启 | sudo systemctl enable httpd |
sudo systemctl enable nginx |
| 网站根目录 | /var/www/html/ |
/usr/share/nginx/html/ |
| 主配置文件 | /etc/httpd/conf/httpd.conf |
/etc/nginx/nginx.conf |
| 虚拟主机目录 | /etc/httpd/conf.d/ |
/etc/nginx/conf.d/ |
根据你的需求选择合适的方案:
- 新手或需要简单配置:选择 Apache。
- 追求高性能、高并发或需要反向代理:选择 Nginx。
- 运行动态网站(如 WordPress):选择 LEMP (Nginx + MariaDB + PHP)。
