在 CentOS 8.2 64位系统上搭建一个典型的网站环境,通常指的是 LAMP 或 LNMP 架构。以下是基于 CentOS 8.2 的详细网站环境搭建指南(以 LAMP 为例,即 Linux + Apache + MySQL + PHP):
🌐 一、系统环境准备
# 更新系统
sudo dnf update -y
# 安装常用工具(可选)
sudo dnf install -y wget curl net-tools vim git
🔧 二、安装 Apache(Web 服务器)
# 安装 Apache
sudo dnf install httpd -y
# 启动并设置开机自启
sudo systemctl enable httpd
sudo systemctl start httpd
# 开放防火墙端口(HTTP 80 和 HTTPS 443)
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
# 测试:访问服务器IP,应看到 Apache 默认页面
💾 三、安装 MySQL(推荐 MariaDB)
CentOS 8 默认使用 MariaDB 替代 MySQL。
# 安装 MariaDB
sudo dnf install mariadb-server mariadb -y
# 启动并设置开机自启
sudo systemctl enable mariadb
sudo systemctl start mariadb
# 安全初始化(设置 root 密码、移除匿名用户等)
sudo mysql_secure_installation
按提示操作:
- 设置 root 密码
- 删除匿名用户
- 禁止 root 远程登录
- 删除 test 数据库
- 重新加载权限表
🐘 四、安装 PHP
CentOS 8 默认仓库提供 PHP 7.2 或 7.4(建议使用 7.4)。
# 启用 EPEL 和 Remi 仓库(提供最新 PHP)
sudo dnf install epel-release -y
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
# 启用 PHP 7.4 模块(可选更高版本如 8.0/8.1,需调整模块名)
sudo dnf module enable php:7.4 -y
# 安装 PHP 及常用扩展
sudo dnf install php php-cli php-common php-gd php-mysqlnd php-curl php-mbstring php-xml php-zip -y
常用扩展说明:
php-mysqlnd:连接 MariaDB/MySQLphp-gd:图像处理php-mbstring:多字节字符串(如中文)php-xml、php-zip:常用框架依赖
🧪 五、测试 PHP 是否正常工作
# 创建测试文件
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
在浏览器访问:http://your-server-ip/info.php
应看到 PHP 信息页面。
🛠️ 六、配置网站目录权限(可选)
# 修改网站目录拥有者为 apache,避免权限问题
sudo chown -R apache:apache /var/www/html/
sudo chmod -R 755 /var/www/html/
🔐 七、安全建议
-
禁用 info.php(测试后删除)
sudo rm /var/www/html/info.php -
配置 SELinux(默认开启)
# 如果遇到文件访问问题,可设置正确上下文 sudo setsebool -P httpd_can_network_connect 1 sudo setsebool -P httpd_execmem 1 -
使用 HTTPS(推荐 Let’s Encrypt)
sudo dnf install certbot python3-certbot-apache -y sudo certbot --apache -d yourdomain.com
📦 八、部署网站示例(以 WordPress 为例)
cd /var/www/html
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz
sudo mv wordpress/* .
sudo chown -R apache:apache /var/www/html/
然后通过浏览器访问进行安装,创建数据库:
CREATE DATABASE wordpress;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'strongpassword';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
✅ 九、常用命令汇总
| 功能 | 命令 |
|---|---|
| 重启 Apache | sudo systemctl restart httpd |
| 重启 MariaDB | sudo systemctl restart mariadb |
| 查看 PHP 版本 | php -v |
| 查看 Apache 状态 | systemctl status httpd |
❗ 注意事项
- CentOS 8 已于 2021 年底停止维护(EOL),建议升级到 CentOS Stream 8 或迁移到 AlmaLinux / Rocky Linux 8。
- 若需更高 PHP 版本(如 8.1+),可通过 Remi 仓库启用:
sudo dnf module enable php:remi-8.1 -y
✅ 总结:CentOS 8.2 网站环境组件
| 组件 | 版本(示例) |
|---|---|
| 操作系统 | CentOS 8.2 x86_64 |
| Web 服务器 | Apache (httpd) |
| 数据库 | MariaDB 10.3+ |
| 脚本语言 | PHP 7.4 |
| 扩展支持 | MySQLnd, GD, cURL, MBString 等 |
如需 LNMP(Nginx + MySQL + PHP)环境,也可提供详细配置。欢迎继续提问!
云计算HECS