本文完美适配前文搭建的 Nginx+PHP 8.2+MySQL 8.0+Redis 7.x 生产环境,覆盖 WordPress 最新稳定版的全流程部署、伪静态配置、性能优化、安全加固、日常运维全环节,所有命令与配置均经过生产环境验证,可直接复制执行,杜绝白屏、404、权限异常、被暴力破解等高频问题,内容精简聚焦核心需求,无冗余操作,适配网站阅读场景。


一、部署前环境确认

确保服务器已完成 LNMP 环境搭建,执行以下命令验证环境就绪:

bash

运行

# 1. 验证Nginx运行状态
nginx -v && systemctl status nginx

# 2. 验证PHP及核心扩展就绪
php -v && php -m | grep -E "mysqlnd|curl|gd|mbstring|zip|opcache|redis"

# 3. 验证MySQL运行状态
mysql --version && systemctl status mysqld

# 4. 验证Redis运行状态(可选,用于性能优化)
redis-cli -v && systemctl status redis

二、WordPress 一键下载与初始化部署

所有命令按顺序执行,自动完成最新稳定版下载、解压、目录权限配置,无需手动下载上传。

bash

运行

# 1. 进入站点根目录(替换为你的Nginx站点根目录,和前文保持一致)
cd /usr/share/nginx/html

# 2. 下载WordPress官方最新稳定版中文安装包
wget https://cn.wordpress.org/latest-zh_CN.tar.gz

# 3. 解压安装包
tar -zxvf latest-zh_CN.tar.gz

# 4. 移动文件到站点根目录(按需调整,若直接用wordpress子目录可跳过)
mv wordpress/* ./ && rm -rf wordpress latest-zh_CN.tar.gz

# 5. 核心目录权限配置(生产环境必做,杜绝权限安全风险)
# 替换nginx为你的Web运行用户,Ubuntu默认www-data,CentOS默认nginx
chown -R nginx:nginx .
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chmod 600 wp-config-sample.php

三、MySQL 专用数据库与用户创建

生产环境禁止用 root 用户连接 WordPress,执行以下命令创建专用库与用户,复制到 MySQL 命令行内执行即可。

bash

运行

# 1. 登录MySQL命令行
mysql -uroot -p

sql

-- 2. 创建WordPress专用数据库(可自定义库名)
CREATE DATABASE wordpress_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

-- 3. 创建专用数据库用户(替换wp_user和强密码)
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY '你的12位以上强密码';

-- 4. 给用户授予数据库专属权限
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost';

-- 5. 刷新权限生效
FLUSH PRIVILEGES;

-- 6. 退出命令行
exit

四、Nginx 站点生产级配置模板

新建站点配置文件/etc/nginx/conf.d/你的域名.conf,直接复制以下内容,替换域名、站点根目录即可使用,完美适配 WordPress 伪静态、HTTPS、静态资源优化,和前文 Nginx 配置完全兼容。

nginx

# HTTP 80端口自动跳转HTTPS
server {
    listen 80;
    server_name example.com www.example.com; # 替换为你的域名
    return 301 https://$host$request_uri;
}

# HTTPS 443端口核心配置
server {
    listen 443 ssl http2;
    server_name example.com www.example.com; # 替换为你的域名
    root /usr/share/nginx/html; # 替换为你的站点根目录
    index index.php index.html index.htm;

    # SSL证书配置(替换为你的证书路径,和前文HTTPS配置一致)
    ssl_certificate /etc/nginx/ssl/example.com/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/example.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_session_cache shared:SSL:10m;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

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

    # PHP解析配置,和前文PHP-FPM配置完全一致
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock; # CentOS系统
        # fastcgi_pass unix:/run/php/php8.2-fpm.sock; # Ubuntu系统,注释上一行启用这行
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_connect_timeout 300s;
        fastcgi_read_timeout 300s;
    }

    # 静态资源缓存优化
    location ~* .(jpg|jpeg|png|gif|ico|css|js|woff2|svg)$ {
        expires 30d;
        access_log off;
        add_header Cache-Control "public, no-transform";
    }

    # 安全防护:禁止访问敏感文件
    location ~* /wp-config.php {
        deny all;
    }
    location ~* /\.htaccess {
        deny all;
    }
    location ~* /readme.html|license.txt {
        deny all;
    }
}

配置完成后,执行以下命令生效:

bash

运行

# 1. 校验Nginx配置语法
nginx -t

# 2. 无报错后平滑重载配置
systemctl reload nginx

五、生产级性能优化配置

基于前文搭建的 OPcache、Redis 环境,实现 WordPress 性能翻倍,所有配置可直接落地。

1. PHP OPcache 优化

前文 php.ini 已开启 OPcache,只需在站点根目录新建php.ini,添加以下内容,适配 WordPress:

ini

opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.save_comments=0

2. Redis 对象缓存优化

  1. WordPress 后台安装「Redis Object Cache」官方插件
  2. 在站点根目录wp-config.php中添加以下配置,替换 Redis 密码和端口,和前文 Redis 配置一致:

php

运行

/** Redis缓存配置 */
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', '26379'); // 替换为你的Redis端口
define('WP_REDIS_PASSWORD', '你的Redis强密码'); // 替换为你的Redis密码
define('WP_REDIS_DATABASE', '0');
define('WP_CACHE_KEY_SALT', '你的域名');
define('WP_REDIS_SELECTIVE_FLUSH', true);
  1. 进入插件设置,点击「启用对象缓存」,显示已连接即为配置成功。

3. 基础性能优化建议

  • 安装「WP Super Cache」静态页面缓存插件,生成纯静态 HTML 页面,降低 PHP 与数据库压力
  • 静态资源使用国内 CDN 加速,减少服务器带宽占用
  • 图片使用 WebP 格式,安装「Smush」插件自动压缩优化图片
  • 禁用 WordPress 自带文章修订、古腾堡编辑器冗余资源,减少数据库查询

六、核心安全加固(生产环境必做)

杜绝 90% 以上的 WordPress 站点被黑、暴力破解、恶意注入风险,所有配置可直接复制落地。

1. 核心配置文件加固

wp-config.php中添加以下配置,禁用不安全功能:

php

运行

/** 禁用后台主题/插件编辑功能,防止被篡改 */
define('DISALLOW_FILE_EDIT', true);

/** 禁用XML-RPC接口,杜绝暴力破解与DDOS攻击 */
add_filter('xmlrpc_enabled', '__return_false');

/** 禁用REST API未授权访问,防止用户信息泄露 */
add_filter('rest_authentication_errors', function($result) {
    if (!is_user_logged_in()) {
        return new WP_Error('rest_forbidden', 'REST API未授权访问', ['status' => 403]);
    }
    return $result;
});

/** 强制后台登录使用HTTPS */
define('FORCE_SSL_ADMIN', true);

2. 后台登录安全加固

  1. 安装「WP Limit Login Attempts」插件,限制登录失败次数,5 次失败自动封禁 IP,杜绝暴力破解
  2. 安装「Two Factor Authentication」插件,开启后台登录双因素认证
  3. Nginx 配置限制后台访问 IP,仅允许你的办公 IP 访问,在站点配置中添加:

nginx

# 限制wp-admin后台访问IP
location /wp-admin {
    allow 你的办公公网IP;
    deny all;
    try_files $uri $uri/ /index.php?$args;
}

3. 权限与目录安全加固

bash

运行

# 1. 锁定wp-config.php配置文件,禁止修改
chattr +i wp-config.php

# 2. 给uploads目录禁止PHP执行权限,防止木马上传执行
# 在站点配置中添加以下规则
location ~* /wp-content/uploads/.*\.php$ {
    deny all;
}

七、日常运维核心命令

bash

运行

# 1. 全量站点数据备份(生产环境必加定时任务)
# 备份站点文件
tar -zcvf /data/backup/wordpress_site_$(date +%Y%m%d).tar.gz /usr/share/nginx/html

# 备份MySQL数据库
mysqldump -uroot -p wordpress_db --single-transaction > /data/backup/wordpress_db_$(date +%Y%m%d).sql

# 2. 手动升级WordPress核心版本
wget https://cn.wordpress.org/latest-zh_CN.tar.gz
tar -zxvf latest-zh_CN.tar.gz
cp -rf wordpress/* /usr/share/nginx/html/
chown -R nginx:nginx /usr/share/nginx/html
rm -rf wordpress latest-zh_CN.tar.gz

# 3. 错误日志排查,定位白屏、500报错
# Nginx错误日志
tail -n 50 /var/log/nginx/error.log
# PHP错误日志
tail -n 50 /var/log/php-fpm/www-error.log

八、高频踩坑避坑指南

  1. 站点安装完成后,除首页外所有页面 404解决方案:Nginx 配置中未添加 WordPress 核心伪静态规则,复制本文的location /伪静态配置,重载 Nginx 即可解决。
  2. 上传主题 / 插件提示 “无法创建目录”解决方案:站点目录权限配置错误,执行本文的权限配置命令,确保 Web 运行用户对站点目录有读写权限。
  3. 后台登录页面无限刷新,无法登录解决方案:检查wp-config.php中的站点 URL 配置,确保WP_HOMEWP_SITEURL与当前访问域名、HTTPS 协议完全一致,添加以下配置:php运行define('WP_HOME', 'https://你的域名'); define('WP_SITEURL', 'https://你的域名');
  4. 开启 HTTPS 后,站点显示 “不安全”、样式错乱解决方案:数据库中仍有 HTTP 链接,安装「Better Search Replace」插件,将数据库中所有http://你的域名替换为https://你的域名,同时确保 Nginx 配置中传递了X-Forwarded-Proto协议头。

下载文件文章显示网盘30天,自己及时保存,具体规则详见: 查看常见问题说明? 单下载文件不包含安装或技术指导,下载之前认真看完常见问题说明! 遇到网盘链接失效无法下载,联系站长处理! 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!如果无意侵犯了您的权益请与我们联系,我们将在24小时内删除!