奋斗
努力

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

云计算

在 CentOS / Ubuntu 上安装 WordPress 完整指南

一、前提条件

  • 一台运行 CentOS 7/8 或 Ubuntu 18.04/20.04/22.04 的服务器
  • 拥有 sudo/root 权限
  • 已配置域名并指向服务器 IP(可选,但推荐)
  • 开放必要端口:80 (HTTP)、443 (HTTPS)、22 (SSH)

二、整体架构

用户 → Nginx/Apache (Web服务器) → PHP-FPM → MySQL/MariaDB (数据库)
                              ↓
                        WordPress 文件

三、详细安装步骤

第一步:更新系统

# CentOS
sudo yum update -y

# Ubuntu
sudo apt update && sudo apt upgrade -y

第二步:安装 Web 服务器

选项 A:Nginx(推荐,性能更好)

# CentOS
sudo yum install epel-release -y
sudo yum install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx

# Ubuntu
sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx

选项 B:Apache

# CentOS
sudo yum install httpd -y
sudo systemctl enable httpd
sudo systemctl start httpd

# Ubuntu
sudo apt install apache2 -y
sudo systemctl enable apache2
sudo systemctl start apache2

第三步:安装 MariaDB/MySQL 数据库

# CentOS
sudo yum install mariadb-server mariadb -y
sudo systemctl enable mariadb
sudo systemctl start mariadb

# Ubuntu
sudo apt install mariadb-server mariadb-client -y
sudo systemctl enable mysql
sudo systemctl start mysql

安全加固数据库

sudo mysql_secure_installation

按提示操作:

  1. 设置 root 密码
  2. 移除匿名用户 ✅
  3. 禁止远程 root 登录 ✅
  4. 移除测试数据库 ✅
  5. 刷新权限 ✅

创建 WordPress 数据库和用户

sudo mysql -u root -p

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

⚠️ 注意:使用 utf8mb4 而非 utf8,以支持完整的 Unicode(包括 emoji)。

第四步:安装 PHP 及相关扩展

# CentOS 8+
sudo yum install php php-fpm php-mysqlnd php-gd php-mbstring php-xml php-curl php-zip php-intl php-json php-opcache -y

# Ubuntu
sudo apt install php php-fpm php-mysql php-gd php-mbstring php-xml php-curl php-zip php-intl php-json php-opcache -y

验证 PHP 版本

php -v

WordPress 要求 PHP ≥ 7.2,推荐 PHP 8.0+。

修改 PHP 配置(关键优化)

编辑 php.ini:

# CentOS: /etc/php.ini 或 /etc/php/8.x/fpm/php.ini
# Ubuntu: /etc/php/8.x/fpm/php.ini
sudo vi /etc/php/8.1/fpm/php.ini
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
date.timezone = Asia/Shanghai   # 根据时区调整
expose_php = Off                # 隐藏PHP版本信息

重启 PHP-FPM:

sudo systemctl restart php-fpm    # CentOS
sudo systemctl restart php8.1-fpm # Ubuntu(版本号可能不同)

第五步:下载并配置 WordPress

cd /var/www/html

# 下载最新 WordPress
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz

# 设置正确权限
sudo chown -R www-data:www-data /var/www/html/wordpress    # Ubuntu Apache/Nginx
sudo chown -R nginx:nginx /var/www/html/wordpress           # CentOS Nginx
sudo chmod -R 755 /var/www/html/wordpress

第六步:配置 Web 服务器

Nginx 配置(推荐)

sudo vi /etc/nginx/conf.d/wordpress.conf
server {
    listen 80;
    server_name yourdomain.com;  # 替换为你的域名

    root /var/www/html/wordpress;
    index index.php index.html;

    # 静态文件缓存
    location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 30d;
        add_header Cache-Control "public, immutable";
    }

    # WordPress 伪静态规则
    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    # PHP 处理
    location ~ .php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;  # 根据实际路径调整
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors on;
    }

    # 禁止访问敏感文件
    location ~ /.ht {
        deny all;
    }
    location ~* /(wp-config.php|readme.html|license.txt|wp-content/debug.log) {
        deny all;
    }
}
# 测试配置并重载
sudo nginx -t
sudo systemctl reload nginx

Apache 配置(如使用 Apache)

WordPress 自带 .htaccess,确保启用 mod_rewrite:

# Ubuntu
sudo a2enmod rewrite
sudo systemctl restart apache2

# CentOS
# 已在 httpd.conf 中默认启用
sudo systemctl restart httpd

第七步:通过浏览器完成安装

  1. 访问 http://yourdomain.com
  2. 选择语言 → 点击「开始」
  3. 填写:
    • 站点标题
    • 管理员用户名(不要用 admin,建议自定义)
    • 管理员密码(强密码)
    • 邮箱
  4. 点击「安装 WordPress」
  5. 登录后进入后台

四、重要注意事项

🔒 安全性

项目 建议
禁用 XML-RPC 防止暴力破解和 DDoS
限制登录尝试 使用插件如 Limit Login Attempts Reloaded
定期备份 使用 UpdraftPlus 或手动 rsync
防火墙 仅开放 80/443/22,关闭其他端口
隐藏 WP 版本 移除 <meta name="generator">
使用非标准 wp-login.php 插件如 WPS Hide Login
Two-Factor Authentication 启用双因素认证
# 在 wp-config.php 中添加额外安全常量
define('DISALLOW_FILE_EDIT', true);       // 禁用主题/插件编辑器
define('WP_DEBUG', false);                 // 生产环境关闭调试

🌐 HTTPS 配置(强烈推荐)

# 使用 Let's Encrypt 免费 SSL
sudo apt install certbot python3-certbot-nginx   # Ubuntu
sudo yum install certbot python3-certbot-nginx    # CentOS

sudo certbot --nginx -d yourdomain.com

自动续期:

sudo crontab -e
# 添加:0 3 * * * certbot renew --quiet

⚡ 性能优化

# 安装 OPcache(通常已包含)
# 安装 Redis 对象缓存
sudo apt install redis-server      # Ubuntu
sudo yum install redis             # CentOS
sudo systemctl enable redis
sudo systemctl start redis

# 安装 WordPress Redis 插件
# 在 wp-config.php 中添加:
define('WP_CACHE_KEY_SALT', 'your_unique_prefix_');

📦 目录权限最佳实践

# WordPress 核心文件:只读
find /var/www/html/wordpress -type d -exec chmod 755 {} ;
find /var/www/html/wordpress -type f -exec chmod 644 {} ;

# 上传目录可写
chmod 775 /var/www/html/wordpress/wp-content/uploads
chown -R www-data:www-data /var/www/html/wordpress/wp-content/uploads  # Ubuntu
chown -R nginx:nginx /var/www/html/wordpress/wp-content/uploads       # CentOS

🔄 自动更新

# 在 wp-config.php 中启用自动核心小版本更新
define('WP_AUTO_UPDATE_CORE', 'minor');

# 或完全禁用自动更新(不推荐)
define('WP_AUTO_UPDATE_CORE', false);

五、故障排查常见命令

# 检查服务状态
systemctl status nginx
systemctl status php-fpm
systemctl status mariadb

# 查看错误日志
tail -f /var/log/nginx/error.log
tail -f /var/log/php-fpm/error.log
tail -f /var/log/mysql/error.log

# 测试 PHP 是否正常工作
cat > /var/www/html/info.php << 'EOF'
<?php phpinfo(); ?>
EOF
# 访问 http://yourdomain.com/info.php 验证后删除
rm /var/www/html/info.php

# 检查磁盘空间
df -h

# 检查内存使用
free -h

六、一键脚本参考(自动化方案)

如果希望简化流程,可以使用:

  • WordOps — Ubuntu/CentOS 上的 WordPress 专用部署工具
  • Laravel Valet — 开发环境
  • Docker Compose — 容器化部署(更现代的方式)

Docker 示例

# docker-compose.yml
version: '3.8'
services:
  db:
    image: mysql:8.0
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wp_user
      MYSQL_PASSWORD: StrongPassword123!
      MYSQL_ROOT_PASSWORD: RootStrongPass123!
    volumes:
      - db_data:/var/lib/mysql

  wordpress:
    image: wordpress:latest
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: StrongPassword123!
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wp_data:/var/www/html
    depends_on:
      - db

volumes:
  db_data:
  wp_data:
docker-compose up -d

七、总结清单

✅ 系统更新
✅ 安装 Web 服务器 (Nginx/Apache)
✅ 安装 MariaDB/MySQL + 安全加固
✅ 创建数据库和用户
✅ 安装 PHP + 必要扩展 + 优化配置
✅ 下载 WordPress 文件
✅ 配置 Web 服务器虚拟主机
✅ 设置正确文件权限
✅ 配置 HTTPS (Let's Encrypt)
✅ 通过浏览器完成安装
✅ 安装安全插件 + 备份方案
✅ 性能优化 (OPcache, Redis, CDN)
✅ 设置自动更新策略

按照以上步骤,你可以在 20-30 分钟 内在 CentOS 或 Ubuntu 上成功部署一个安全、高效的 WordPress 站点。

未经允许不得转载:云服务器 » 在CentOS或Ubuntu上安装WordPress的步骤和注意事项有哪些?