第一步:准备工作
在开始之前,请确保你已经:

-
拥有一台 CentOS 7 服务器:并且你已经通过 SSH 登录到了这台服务器。
-
拥有 root 权限:或者一个具有
sudo权限的用户账户,本教程大部分命令使用sudo。 -
更新系统:确保你的系统软件包是最新的。
sudo yum update -y
第二步:安装 Nginx Web 服务器
Nginx 是一个高性能、轻量级的 Web 服务器和反向代理。

-
安装 EPEL 仓库 EPEL (Extra Packages for Enterprise Linux) 提供了许多 CentOS 官方源中没有的软件包,首先需要安装它。
sudo yum install epel-release -y
-
安装 Nginx 使用
yum来安装 Nginx。sudo yum install nginx -y
-
启动并设置 Nginx 开机自启 安装完成后,启动 Nginx 服务,并设置为系统启动时自动运行。
# 启动 Nginx sudo systemctl start nginx # 设置开机自启 sudo systemctl enable nginx
-
检查 Nginx 状态 确保 Nginx 服务正在运行。
(图片来源网络,侵删)sudo systemctl status nginx
如果看到
active (running),则表示成功。 -
配置防火墙 CentOS 7 默认使用
firewalld防火墙,你需要允许 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
-
测试 Nginx 在你的浏览器中输入服务器的 IP 地址,你应该能看到 Nginx 的欢迎页面。
# 查看服务器 IP 地址 ip addr
复制
inet后面的 IP 地址,在浏览器中访问即可。
第三步:安装 MariaDB 数据库服务器
MariaDB 是 MySQL 的一个流行分支,完全兼容 MySQL。
-
安装 MariaDB 服务器 使用
yum安装 MariaDB 服务器和客户端。sudo yum install mariadb-server mariadb -y
-
启动并设置 MariaDB 开机自启 启动 MariaDB 服务并设置开机自启。
# 启动服务 sudo systemctl start mariadb # 设置开机自启 sudo systemctl enable mariadb
-
运行安全脚本 这是一个非常重要的步骤,它会帮助你设置
root密码、移除匿名用户、禁止远程root登录等。sudo mysql_secure_installation
按照提示操作:
- Enter current password for root (enter for none): 直接按回车,因为初始密码为空。
- Set root password? [Y/n]: 输
Y并设置一个强密码。 - Remove anonymous users? [Y/n]: 输
Y,建议移除。 - Disallow root login remotely? [Y/n]: 输
Y,为了安全,禁止远程root登录。 - Remove test database and access to it? [Y/n]: 输
Y,移除测试数据库。 - Reload privilege tables now? [Y/n]: 输
Y,使更改立即生效。
第四步:安装 PHP (PHP-FPM)
PHP-FPM (FastCGI Process Manager) 是一个 PHP 的 FastCGI 实现,Nginx 可以通过它来处理 PHP 文件。
-
安装 PHP 和常用扩展 CentOS 7 默认的软件源中的 PHP 版本可能很旧,我们建议使用
remi源来安装较新版本的 PHP (PHP 7.4)。# 安装 EPEL 和 Remi 源 sudo yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm # 启用 Remi 源中的 PHP 7.4 sudo yum-config-manager --enable remi-php74 # 安装 PHP-FPM 和一些常用扩展 sudo yum install -y php php-fpm php-mysqlnd php-gd php-xml php-mbstring
你可以根据需要安装更多扩展,如
php-json,php-opcache等。 -
启动并设置 PHP-FPM 开机自启 启动 PHP-FPM 服务并设置开机自启。
# 启动服务 sudo systemctl start php-fpm # 设置开机自启 sudo systemctl enable php-fpm
-
检查 PHP-FPM 状态
sudo systemctl status php-fpm
确保状态为
active (running)。
第五步:配置 Nginx 处理 PHP
现在需要配置 Nginx,让它将 .php 文件的请求转发给 PHP-FPM 处理。
-
创建一个测试 PHP 文件 我们创建一个测试目录和文件,以验证 PHP 是否正常工作。
# 创建网站根目录 (/var/www/my_website) sudo mkdir -p /var/www/my_website # 设置目录所有者为当前用户 (nginx) sudo chown -R nginx:nginx /var/www/my_website # 创建一个 info.php 文件 sudo vim /var/www/my_website/info.php
在
info.php文件中输入以下内容:<?php phpinfo(); ?>
保存并退出 (在
vim中按Esc,然后输入wq回车)。 -
配置 Nginx 虚拟主机 我们将创建一个新的 Nginx 配置文件来托管我们的网站。
sudo vim /etc/nginx/conf.d/my_website.conf
粘贴到文件中,并根据你的实际情况进行修改:
server { listen 80; server_name your_server_ip; # 替换成你的服务器 IP 或域名 # 网站根目录 root /var/www/my_website; index index.php index.html index.htm; # 访问日志和错误日志 access_log /var/log/nginx/my_website.access.log; error_log /var/log/nginx/my_website.error.log; location / { try_files $uri $uri/ =404; } # 将 .php 文件请求转发给 PHP-FPM location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; # PHP-FPM 默认监听 127.0.0.1:9000 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # 禁止访问 .htaccess 文件 (如果使用 Apache 规则) location ~ /\.ht { deny all; } }重要:将
your_server_ip替换为你的实际 IP 地址或域名。 -
测试并重新加载 Nginx 配置 在重新加载配置之前,最好先测试一下配置文件是否有语法错误。
# 测试 Nginx 配置 sudo nginx -t # 如果测试通过 (显示 syntax is ok 和 test is successful),则重新加载配置 sudo systemctl reload nginx
第六步:测试和验证
-
测试 PHP 在浏览器中访问你刚才创建的 PHP 文件:
http://your_server_ip/info.php你应该能看到一个详细的 PHP 信息页面。为了安全,测试完毕后请立即删除此文件!
sudo rm /var/www/my_website/info.php
-
测试网站根目录
