在 CentOS 或 Ubuntu 上部署 WordPress,本质上是在 Linux 服务器上搭建 LAMP(Linux + Apache + MySQL/MariaDB + PHP)或 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)环境。考虑到国内云服务器的普遍配置和网络环境,以下是基于生产环境标准的详细步骤与核心注意事项。
一、 前期准备与环境选择
-
操作系统选择:
- Ubuntu (推荐):社区活跃,软件包更新快,文档丰富,apt 包管理体验较好。目前主流版本为 20.04 LTS 或 22.04 LTS。
- CentOS:注意 CentOS 8 已停止维护,建议仅使用 Rocky Linux 或 AlmaLinux(作为 CentOS 的继任者),或者坚持使用 CentOS Stream。若必须用传统 CentOS,请确保使用的是仍在支持周期内的版本(如 CentOS 7 虽长尾支持但风险渐增)。
- 提示:国内云服务器厂商通常提供优化过的镜像,安装时建议选择“最小化安装”以减少冗余进程和安全隐患。
-
服务器安全组/防火墙配置:
- 在云平台控制台开放端口:80 (HTTP), 443 (HTTPS), 22 (SSH)。
- 如果仅做测试,可暂时关闭系统防火墙(
systemctl stop firewalld或ufw disable),但生产环境务必通过 iptables/firewalld/ufw 限制访问来源 IP。
二、 方案 A:Ubuntu 上安装 LAMP 环境(Apache + MariaDB + PHP)
这是最经典且稳定的方案,适合大多数中小型网站。
1. 更新系统并安装软件包
sudo apt update && sudo apt upgrade -y
sudo apt install apache2 mariadb-server php libapache2-mod-php php-mysql php-gd php-curl php-zip php-xml php-mbstring -y
注:`php-` 系列插件是 WordPress 运行所需的常见扩展,如 GD(图像处理)、CURL(远程请求)、ZIP(插件安装)等。*
2. 启动服务并设置开机自启
sudo systemctl enable apache2
sudo systemctl start apache2
sudo systemctl enable mysql
sudo systemctl start mysql
3. 配置数据库
sudo mysql_secure_installation
按提示操作:
- 设置 root 密码。
- 移除匿名用户。
- 禁止 root 远程登录。
- 删除 test 数据库。
- 重新加载权限表。
创建 WordPress 专用数据库和用户:
sudo mysql -u root -p
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
4. 下载并配置 WordPress
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
sudo cp -r wordpress/* /var/www/html/
sudo chown -R www-data:www-data /var/www/html/
sudo chmod -R 755 /var/www/html/
5. 浏览器安装
访问 http://你的服务器IP,按照网页向导输入之前创建的数据库信息即可完成安装。
三、 方案 B:CentOS/Rocky Linux 上安装 LNMP 环境(Nginx + MySQL + PHP-FPM)
Nginx 在高并发下性能优于 Apache,适合流量较大的站点。
1. 安装 EPEL 源及基础软件
sudo yum install epel-release -y
sudo yum install nginx mariadb-server php-fpm php-mysqlnd php-gd php-curl php-zip php-xml php-mbstring -y
2. 启动服务
sudo systemctl enable nginx
sudo systemctl start nginx
sudo systemctl enable mariadb
sudo systemctl start mariadb
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
3. 配置数据库
与 Ubuntu 类似,执行 sudo mysql_secure_installation 并创建数据库和用户(命令同上)。
4. 配置 Nginx
编辑 /etc/nginx/conf.d/default.conf 或新建配置文件:
server {
listen 80;
server_name your_domain.com; # 替换为你的域名或IP
root /usr/share/nginx/html;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php-fpm/www.sock; # CentOS 7 路径可能不同,需确认
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# 禁止访问隐藏文件
location ~ /. {
deny all;
}
}
重启 Nginx:sudo systemctl restart nginx
5. 部署 WordPress
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
sudo cp -r wordpress/* /usr/share/nginx/html/
sudo chown -R nginx:nginx /usr/share/nginx/html/
# 确保 PHP-FPM 用户有权限
sudo setsebool -P httpd_can_network_connect_db 1 # SELinux 开启时需执行
同样通过浏览器访问完成安装。
四、 关键注意事项(避坑指南)
1. 安全性加固
- 禁用目录浏览:确保 Apache/Nginx 配置中未开启
Options Indexes。 - 修改默认登录页:强烈建议安装插件如 "WPS Hide Login" 更改
/wp-login.php路径,防止暴力破解。 - 定期备份:利用云厂商的快照功能,或编写脚本每日备份数据库和
/wp-content/uploads目录到 OSS/S3 等对象存储。 - SSL 证书:务必启用 HTTPS。可使用 Let’s Encrypt 免费证书(通过 Certbot 工具自动申请和续期),提升 SEO 和用户信任度。
2. 性能优化
- PHP OPcache:确保
php.ini中开启了 OPcache,显著提升 PHP 执行效率。 - 静态资源分离:图片、CSS、JS 等静态资源建议上传至 CDN 或对象存储(如阿里云 OSS、腾讯云 COS),减轻服务器带宽压力。
- 缓存机制:
- 应用层:安装 Redis 或 Memcached 作为对象缓存。
- 页面层:使用 WP Super Cache、W3 Total Cache 或 LiteSpeed Cache 等插件生成静态 HTML。
- 数据库优化:定期清理 wp_options 表中的 transient 数据,使用插件如 "WP-Optimize" 优化数据库结构。
3. 权限与所有权
- 切勿以 root 身份运行 Web 服务。
- 文件所有者应为 Web 服务器用户(Apache 用户通常为
www-data或apache;Nginx 为nginx)。 - 目录权限设为
755,文件权限设为644。 wp-config.php应设置为600,仅限所有者读写。
4. 国内网络适配
- 字体缺失:WordPress 默认不包含中文字体,可能导致后台中文显示为方块。解决方案:在主题文件中引入系统字体栈,或手动上传
.ttf/.woff字体文件到wp-content/themes/your-theme/fonts/并通过 CSS 引用。 - API 连接:部分插件依赖 WordPress.org API 下载更新,国内可能无法直接连接。建议使用国内镜像源或插件内置的直连提速功能。
- 时间同步:确保服务器时间准确(
timedatectl set-ntp true),否则会导致 Cookie 失效、定时任务失败等问题。
5. 升级与维护
- 先备份后升级:任何核心组件(WordPress 核心、主题、插件)升级前,务必完整备份数据库和文件。
- 兼容性检查:升级 PHP 大版本(如 7.4 -> 8.0+)前,需确认所有插件和主题是否兼容新 PHP 版本,避免站点崩溃。
- 监控告警:配置云监控报警,关注 CPU、内存、磁盘 IO 和带宽使用情况,及时发现异常流量或攻击。
遵循以上步骤和注意事项,你可以在 CentOS 或 Ubuntu 上构建一个安全、稳定且高效的 WordPress 站点。对于初学者,建议从 Ubuntu + LAMP 方案入手,因其文档支持和容错率更高。
CLOUD云枢