CentOS系统下如何在轻量应用服务器上部署WordPress网站?

在 CentOS 系统的轻量应用服务器上部署 WordPress,推荐使用 宝塔面板(Baota Panel)LNMP/LAMP 手动部署。以下提供两种主流方案,推荐优先使用宝塔面板(适合新手),再附手动部署步骤供参考。


✅ 方案一:使用宝塔面板(推荐,图形化操作)

1. 安装宝塔面板

# 执行官方安装脚本(以 CentOS 7/8 为例)
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

⚠️ 注意:

  • 首次运行会提示设置面板用户名、密码和端口(建议修改默认 8888 为其他端口防扫描)。
  • 安装完成后,根据终端提示登录面板地址:http://你的服务器IP:端口

2. 在宝塔中一键安装 WordPress

  1. 登录宝塔面板 → 左侧菜单点击 【网站】 → 点击 【添加站点】
    • 域名:填写你的域名(如 example.com,若未绑定可先填 IP)
    • PHP 版本:选择 7.4 或 8.1(WordPress 兼容性好)
    • 数据库:勾选“创建 MySQL 数据库”,设置名称、用户、密码(记录好!)
    • 根目录:自动生成 /www/wwwroot/example.com
  2. 点击【提交】后,进入 【软件商店】 → 搜索 “WordPress” → 点击 【安装】
    • 选择刚才创建的数据库
    • 设置站点标题、管理员账号密码等
    • 点击【开始安装】→ 等待完成

✅ 安装成功后,访问 http://你的域名 即可看到 WordPress 首页。

3. 安全加固建议(必做)

  • 修改默认登录路径:安装插件 WPS Hide Login
  • 启用 HTTPS:在宝塔【SSL】标签页申请免费 Let’s Encrypt 证书并强制跳转
  • 关闭多余服务:如 FTP、SSH 非必需则禁用
  • 定期备份:使用宝塔【备份】功能或插件 UpdraftPlus

🔧 方案二:手动 LNMP 部署(适合进阶用户)

1. 安装环境(Nginx + MySQL + PHP)

# 更新系统
sudo yum update -y

# 安装 EPEL 源(部分包需要)
sudo yum install -y epel-release

# 安装 Nginx
sudo yum install -y nginx
sudo systemctl enable nginx && sudo systemctl start nginx

# 安装 MariaDB(MySQL 替代)
sudo yum install -y mariadb-server mariadb
sudo systemctl enable mariadb && sudo systemctl start mariadb
sudo mysql_secure_installation  # 按提示设置 root 密码、删除匿名用户等

# 安装 PHP-FPM 及扩展
sudo yum install -y php php-fpm php-mysqlnd php-gd php-json php-curl php-mbstring php-intl php-fileinfo
sudo systemctl enable php-fpm && sudo systemctl start php-fpm

2. 配置 Nginx 虚拟主机

sudo vi /etc/nginx/conf.d/yourdomain.conf

填入以下内容(替换 yourdomain.compath/to/wordpress):

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    root /path/to/wordpress;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ .php$ {
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
    }

    location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {
        expires max;
        log_not_found off;
    }
}

测试并重启 Nginx:

sudo nginx -t && sudo systemctl reload nginx

3. 下载并配置 WordPress

# 创建目录并下载
sudo mkdir -p /path/to/wordpress
cd /path/to/wordpress
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz --strip-components=1
sudo rm latest.tar.gz

# 设置权限(关键!)
sudo chown -R nginx:nginx .
sudo find . -type d -exec chmod 755 {} ;
sudo find . -type f -exec chmod 644 {} ;

# 创建 wp-config.php
cp wp-config-sample.php wp-config.php
sudo nano wp-config.php
# 修改以下行(替换为你的数据库信息):
# define('DB_NAME', 'your_db_name');
# define('DB_USER', 'your_db_user');
# define('DB_PASSWORD', 'your_db_password');
# define('DB_HOST', 'localhost');

4. 创建数据库 & 导入配置

sudo mysql -u root -p
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

5. 完成安装

访问 http://yourdomain.com,按向导完成 WordPress 初始化(站点标题、管理员账户等)。


📌 通用注意事项

项目 建议
防火墙 开放 80/443 端口(CentOS 8+ 用 firewall-cmd --add-service=http;CentOS 7 用 iptables
SELinux 生产环境建议设为 permissive 或临时关闭:setenforce 0(永久需改 /etc/selinux/config
PHP 内存 编辑 /etc/php.ini,设置 memory_limit = 256M
上传限制 wp-config.php 顶部加:
define('WP_MEMORY_LIMIT', '256M');
并在 Nginx 中加 client_max_body_size 64M;
定时任务 设置 WP-Cron 需配合系统 cron(避免被攻击滥用):取消 DISABLE_WP_CRON,改用真实 cron 调用

需要我为你生成:

  • 自动化部署 Shell 脚本?
  • Docker 版 WordPress 快速部署方案?
  • 针对特定场景(如多站点、CDN 提速)的优化配置?

欢迎告诉我你的具体需求 😊