You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04部署WordPress遇阻,求最优解决方案

Ubuntu 22.04 部署 WordPress 的最佳实践及问题修复

一、原生 LAMP 栈部署(生产环境首选)

这是最稳定、可控的部署方式,适合长期运行的站点:

1. 安装依赖组件

执行以下命令一次性安装 Apache、MySQL 和 WordPress 所需的 PHP 扩展:

sudo apt update && sudo apt install apache2 mysql-server php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip

2. 配置 MySQL 数据库

进入 MySQL 命令行并创建 WordPress 专属的数据库和用户:

sudo mysql

在 MySQL 交互界面执行:

-- 给root用户设置密码(首次配置需要)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_root_password';
-- 创建WordPress数据库
CREATE DATABASE wordpress;
-- 创建数据库用户
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'your_user_password';
-- 授予用户数据库全部权限
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;
EXIT;

3. 下载并配置 WordPress

# 进入Apache根目录
cd /var/www/html
# 下载最新版WordPress
sudo wget https://wordpress.org/latest.tar.gz
# 解压压缩包
sudo tar -xzf latest.tar.gz
# 设置目录权限(让Apache进程能读写)
sudo chown -R www-data:www-data wordpress/
# 复制并修改配置文件
sudo cp wordpress/wp-config-sample.php wordpress/wp-config.php

编辑配置文件,替换数据库相关参数:

sudo nano wordpress/wp-config.php

找到以下行并替换为你创建的数据库信息:

define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wp_user' );
define( 'DB_PASSWORD', 'your_user_password' );
define( 'DB_HOST', 'localhost' );

额外添加一行解决文件写入权限问题:

define('FS_METHOD', 'direct');

4. 配置 Apache 虚拟主机

创建虚拟主机配置文件:

sudo nano /etc/apache2/sites-available/wordpress.conf

写入以下内容(替换your_domain_or_ip为你的域名或服务器IP):

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/wordpress
    ServerName your_domain_or_ip

    <Directory /var/www/html/wordpress/>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/wordpress_error.log
    CustomLog ${APACHE_LOG_DIR}/wordpress_access.log combined
</VirtualHost>

启用站点和URL重写模块,重启Apache:

sudo a2ensite wordpress.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

最后访问http://your_domain_or_ip即可完成WordPress安装向导。

二、Docker 部署(快速测试/开发环境)

针对你遇到的权限阻塞问题,用官方推荐的docker-compose方案可以避免大部分权限问题:

1. 创建 docker-compose.yml 文件

version: '3.8'

services:
  db:
    image: mysql:8.0
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: your_root_password
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wp_user
      MYSQL_PASSWORD: your_user_password

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    volumes:
      - wp_data:/var/www/html
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: your_user_password
      WORDPRESS_DB_NAME: wordpress

volumes:
  db_data:
  wp_data:

2. 启动服务

sudo docker-compose up -d

如果需要挂载本地目录而非Docker卷(方便本地修改文件),需提前设置目录权限:

mkdir -p ./wp_data
sudo chown -R 33:33 ./wp_data  # WordPress容器内部使用UID为33的用户

然后修改docker-compose.yml中的wp_data挂载路径:

volumes:
  - ./wp_data:/var/www/html

重新启动服务即可解决权限问题。

三、XAMPP 数据库连接问题修复

针对你遇到的数据库连接失败问题,按以下步骤排查:

  • 确认MySQL监听地址:打开XAMPP控制面板的my.cnf配置文件,确保bind-address = 127.0.0.1(本地访问无需修改)。
  • 检查数据库用户权限:确保创建的用户是'wp_user'@'localhost',而非'wp_user'@'%'(XAMPP的MySQL默认限制本地用户连接)。
  • 测试数据库连接:在终端执行mysql -u wp_user -p,输入密码后尝试访问wordpress数据库,确认权限正常。
  • 验证配置文件:检查WordPress的wp-config.php中DB_HOST是否为localhost,不要使用127.0.0.1或其他IP。

内容的提问来源于stack exchange,提问作者Alex Mkwizu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 19:58:33