在CentOS或Ubuntu上安装WordPress的步骤和注意事项有哪些?

在 CentOS 或 Ubuntu 上部署 WordPress,本质上是在 Linux 服务器上搭建 LAMP(Linux + Apache + MySQL/MariaDB + PHP)或 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)环境。考虑到国内云服务器的普遍配置和网络环境,以下是基于生产环境标准的详细步骤与核心注意事项。

一、 前期准备与环境选择

  1. 操作系统选择:

    • Ubuntu (推荐):社区活跃,软件包更新快,文档丰富,apt 包管理体验较好。目前主流版本为 20.04 LTS 或 22.04 LTS。
    • CentOS:注意 CentOS 8 已停止维护,建议仅使用 Rocky Linux 或 AlmaLinux(作为 CentOS 的继任者),或者坚持使用 CentOS Stream。若必须用传统 CentOS,请确保使用的是仍在支持周期内的版本(如 CentOS 7 虽长尾支持但风险渐增)。
    • 提示:国内云服务器厂商通常提供优化过的镜像,安装时建议选择“最小化安装”以减少冗余进程和安全隐患。
  2. 服务器安全组/防火墙配置:

    • 在云平台控制台开放端口: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云枢 » 在CentOS或Ubuntu上安装WordPress的步骤和注意事项有哪些?