Rocky Linux 9 LNMPNginx 1.24, PHP 8.2搭建WordPress 6.6.2全流程指南当CentOS 8停止维护后许多依赖其稳定性的网站管理员和开发者面临技术栈升级的迫切需求。Rocky Linux作为RHEL的完美替代品继承了CentOS的基因同时提供了更现代的软件支持和长期维护承诺。本文将带你从零开始在Rocky Linux 9上部署最新的LNMP环境Nginx 1.24 PHP 8.2并完成WordPress 6.6.2的安装与优化。1. 为什么选择Rocky Linux 9作为CentOS 8的替代品CentOS 8的突然停服让整个开源社区意识到依赖单一发行版的风险。Rocky Linux由CentOS创始人Gregory Kurtzer发起完全遵循RHEL的构建规范提供10年生命周期支持是当前最可靠的替代方案。相比CentOS 8Rocky Linux 9带来了多项改进内核升级至5.14支持更新的硬件和文件系统默认软件包版本更新如Python 3.9、PHP 8.0等增强的安全功能包括SELinux策略优化更完善的容器和云原生支持对于WordPress站点迁移到Rocky Linux 9意味着获得长期安全更新避免漏洞风险使用更现代的PHP版本提升性能兼容现有CentOS生态迁移成本低2. Rocky Linux 9基础环境准备2.1 系统安装与初始化配置从Rocky Linux官网下载ISO镜像推荐Minimal安装完成基础系统安装后首先更新系统并安装必要工具dnf update -y dnf install -y epel-release dnf config-manager --set-enabled powertools dnf install -y vim wget curl git unzip net-tools设置时区和主机名timedatectl set-timezone Asia/Shanghai hostnamectl set-hostname wordpress-server2.2 防火墙与SELinux配置确保防火墙允许HTTP/HTTPS流量firewall-cmd --permanent --add-servicehttp firewall-cmd --permanent --add-servicehttps firewall-cmd --reload对于SELinux建议保持启用状态但调整WordPress目录权限semanage fcontext -a -t httpd_sys_rw_content_t /var/www/html(/.*)? restorecon -Rv /var/www/html3. 安装与配置LNMP环境3.1 安装Nginx 1.24Rocky Linux 9默认仓库中的Nginx版本较旧我们需要添加官方仓库cat /etc/yum.repos.d/nginx.repo EOF [nginx-stable] namenginx stable repo baseurlhttps://nginx.org/packages/centos/\$releasever/\$basearch/ gpgcheck1 enabled1 gpgkeyhttps://nginx.org/keys/nginx_signing.key module_hotfixestrue EOF dnf install -y nginx systemctl enable --now nginx验证安装nginx -v # 应显示 nginx version: nginx/1.24.x3.2 安装PHP 8.2及其扩展Remi仓库提供了最新的PHP版本dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm dnf module reset php dnf module enable php:remi-8.2 -y dnf install -y php php-fpm php-cli php-mysqlnd php-gd php-mbstring php-xml php-zip php-curl php-opcache优化PHP-FPM配置vim /etc/php-fpm.d/www.conf # 修改以下参数 user nginx group nginx listen /run/php-fpm/www.sock listen.owner nginx listen.group nginx pm dynamic pm.max_children 50 pm.start_servers 5 pm.min_spare_servers 3 pm.max_spare_servers 10启动PHP-FPMsystemctl enable --now php-fpm3.3 安装与配置MariaDB 10.5Rocky Linux 9默认提供MariaDB 10.5dnf install -y mariadb-server mariadb systemctl enable --now mariadb运行安全初始化mysql_secure_installation为WordPress创建数据库和用户CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER wpuserlocalhost IDENTIFIED BY StrongPassword123!; GRANT ALL PRIVILEGES ON wordpress.* TO wpuserlocalhost; FLUSH PRIVILEGES; EXIT;4. WordPress安装与配置4.1 下载并准备WordPress文件cd /tmp wget https://wordpress.org/latest.tar.gz tar xzf latest.tar.gz -C /var/www/ chown -R nginx:nginx /var/www/wordpress4.2 配置Nginx虚拟主机创建新的Nginx配置文件vim /etc/nginx/conf.d/wordpress.conf添加以下内容server { listen 80; server_name yourdomain.com; root /var/www/wordpress; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location ~ /\.ht { deny all; } }测试并重载Nginx配置nginx -t systemctl reload nginx4.3 完成WordPress安装向导通过浏览器访问服务器IP或域名按照WordPress向导完成安装。在数据库配置步骤使用之前创建的数据库信息数据库名wordpress用户名wpuser密码StrongPassword123!主机localhost表前缀wp_ (建议修改为自定义前缀如wpabc_)5. 安全加固与性能优化5.1 WordPress安全最佳实践文件权限设置chmod 750 /var/www/wordpress/ find /var/www/wordpress/ -type d -exec chmod 755 {} \; find /var/www/wordpress/ -type f -exec chmod 644 {} \; chmod 600 /var/www/wordpress/wp-config.php禁用文件编辑在wp-config.php中添加define(DISALLOW_FILE_EDIT, true);限制XML-RPC在Nginx配置中添加location /xmlrpc.php { deny all; return 404; }5.2 性能优化配置启用OPcache编辑/etc/php.d/10-opcache.iniopcache.enable1 opcache.memory_consumption128 opcache.interned_strings_buffer8 opcache.max_accelerated_files4000 opcache.revalidate_freq60 opcache.fast_shutdown1Nginx缓存配置在server块中添加location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires 30d; add_header Cache-Control public, no-transform; }PHP-FPM优化根据服务器内存调整/etc/php-fpm.d/www.conf中的pm参数。6. 从CentOS 8迁移现有WordPress站点6.1 数据备份策略数据库备份mysqldump -u root -p wordpress wordpress_backup.sql文件备份tar czf wordpress_files.tar.gz /var/www/html/wordpress6.2 迁移步骤将备份文件复制到Rocky Linux服务器恢复数据库mysql -u root -p wordpress wordpress_backup.sql解压网站文件tar xzf wordpress_files.tar.gz -C /var/www/更新wp-config.php中的数据库连接信息检查并更新所有插件和主题6.3 常见迁移问题解决权限问题确保所有文件属于nginx用户PHP函数禁用检查php.ini中的disable_functionsURL重定向可能需要更新数据库中的siteurl和home选项UPDATE wp_options SET option_value http://newdomain.com WHERE option_name IN (siteurl, home);7. 进阶配置与维护7.1 配置HTTPS加密使用Lets Encrypt免费证书dnf install -y certbot python3-certbot-nginx certbot --nginx -d yourdomain.com设置自动续期echo 0 0,12 * * * root /usr/bin/certbot renew --quiet | sudo tee -a /etc/crontab /dev/null7.2 设置自动化备份创建备份脚本/usr/local/bin/wordpress_backup.sh#!/bin/bash DATE$(date %Y%m%d) BACKUP_DIR/backups/wordpress mkdir -p $BACKUP_DIR mysqldump -u wpuser -pStrongPassword123! wordpress $BACKUP_DIR/wordpress_db_$DATE.sql tar czf $BACKUP_DIR/wordpress_files_$DATE.tar.gz /var/www/wordpress find $BACKUP_DIR -type f -mtime 30 -delete添加到crontab0 2 * * * /usr/local/bin/wordpress_backup.sh7.3 监控与日志分析安装GoAccess进行Nginx日志分析dnf install -y goaccess goaccess /var/log/nginx/access.log --log-formatCOMBINED对于长期运行的系统考虑配置Prometheus Grafana监控套件。