如何在Ubuntu上部署WordPress
导读:在 Ubuntu 上部署 WordPress 的标准流程 本指南提供在 Ubuntu 22.04/24.04 上使用 LAMP(Apache + MySQL + PHP) 部署 WordPress 的完整步骤,包含防火墙放行、目录权限、数据...
在 Ubuntu 上部署 WordPress 的标准流程
本指南提供在 Ubuntu 22.04/24.04 上使用 LAMP(Apache + MySQL + PHP) 部署 WordPress 的完整步骤,包含防火墙放行、目录权限、数据库创建与安装向导。若你偏好 Nginx + PHP‑FPM,文末也给出可选方案与关键配置片段。
一 准备与系统更新
- 更新系统并安装常用工具
- 执行:
sudo apt update & & sudo apt upgrade -y
- 执行:
- 放行 HTTP/HTTPS 访问
- UFW:
sudo ufw allow 'Apache Full' & & sudo ufw enable - 云厂商安全组/防火墙:放行 TCP 80/443(示例:Oracle Cloud 在默认安全列表添加入站规则,源 0.0.0.0/0,端口 80)
- UFW:
二 安装与配置 LAMP 组件
- 安装 Apache
- 执行:
sudo apt install apache2 -y - 启动并开机自启:
sudo systemctl start apache2 & & sudo systemctl enable apache2 - 验证:浏览器访问 http://< 服务器IP> / 出现 Apache 欢迎页
- 执行:
- 安装 MySQL
- 执行:
sudo apt install mysql-server -y - 启动并开机自启:
sudo systemctl start mysql & & sudo systemctl enable mysql - 安全初始化:
sudo mysql_secure_installation(设置 root 密码、移除匿名用户、禁止远程 root 登录等)
- 执行:
- 安装 PHP 与常用扩展
- 执行:
sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-xml php-mbstring php-xmlrpc php-zip php-soap php-intl -y - 调整默认首页优先级(
index.php优先):编辑/etc/apache2/mods-enabled/dir.conf,将 index.php 移到最前,保存后重启 Apache:sudo systemctl restart apache2
- 执行:
- 可选 升级到 PHP 8.3(Ubuntu 20.04/更高版本)
- 执行:
sudo apt install software-properties-common -y & & sudo add-apt-repository ppa:ondrej/php -y & & sudo apt update - 安装:
sudo apt install php8.3 php8.3-fpm php8.3-mysql php8.3-xml php8.3-curl php8.3-mbstring php8.3-zip php8.3-gd -y - 启动:
sudo systemctl start php8.3-fpm & & sudo systemctl enable php8.3-fpm - 说明:若使用 PHP‑FPM,需启用 Apache 的 proxy、proxy_fcgi、rewrite 模块并在虚拟主机中用 SetHandler “proxy:unix:/run/php/php8.3-fpm.sock|fcgi://localhost/” 代理 PHP 请求
- 执行:
三 创建数据库与用户
- 登录数据库:
sudo mysql -u root -p - 执行 SQL(请替换强密码):
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'StrongPassword!';GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';FLUSH PRIVILEGES;EXIT;
- 说明:生产环境不建议使用 root 直连应用;字符集使用 utf8mb4 以支持完整 Unicode(含表情)
四 部署 WordPress 文件与权限
- 下载并解压到站点目录
- 执行:
cd /tmp & & curl -LO https://wordpress.org/latest.tar.gz & & tar xzvf latest.tar.gz - 复制:
sudo cp -a /tmp/wordpress/. /var/www/html/wordpress
- 执行:
- 生成并编辑配置文件
- 执行:
sudo cp /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php - 修改数据库信息(
wp-config.php):define('DB_NAME', 'wordpress');define('DB_USER', 'wpuser');define('DB_PASSWORD', 'StrongPassword!');define('DB_HOST', 'localhost');
- 执行:
- 设置目录权限(Apache 运行用户通常为 www-data)
- 执行:
sudo chown -R www-data:www-data /var/www/html/wordpress - 执行:
sudo find /var/www/html/wordpress -type d -exec chmod 755 { } \; - 执行:
sudo find /var/www/html/wordpress -type f -exec chmod 644 { } \;
- 执行:
- 可选 使用 Apache 虚拟主机(推荐)
- 新建:
sudo nano /etc/apache2/sites-available/wordpress.conf - 示例:
< VirtualHost *:80> ServerAdmin webmaster@example.com DocumentRoot /var/www/html/wordpress ServerName your-domain.com ServerAlias www.your-domain.com < Directory /var/www/html/wordpress/> Options FollowSymLinks AllowOverride All Require all granted < /Directory> ErrorLog ${ APACHE_LOG_DIR} /wordpress.error.log CustomLog ${ APACHE_LOG_DIR} /wordpress.access.log combined < /VirtualHost> - 启用站点与重写模块:
sudo a2ensite wordpress.conf & & sudo a2enmod rewrite & & sudo systemctl reload apache2
- 新建:
- 访问安装向导
- 浏览器访问 http://< 服务器IP或域名> /,按向导完成站点标题、管理员账号等设置
五 安全加固与常见问题
- 安全与运维
- 获取免费 SSL 证书并配置 HTTPS(如 Let’s Encrypt/Certbot),强制全站 HTTPS
- 删除测试文件:
sudo rm /var/www/html/info.php(如曾创建) - 定期更新 WordPress 核心、主题、插件;使用强密码与两步验证;限制插件/主题来源
- 备份策略:定期备份 /var/www/html/wordpress 与数据库(如 mysqldump)
- 常见问题排查
- 403/404:检查虚拟主机 DocumentRoot 与目录权限,确认启用 AllowOverride All 与 mod_rewrite
- 数据库连接失败:核对 wp-config.php 中 DB_NAME/DB_USER/DB_PASSWORD/DB_HOST,确认数据库与用户已创建并授权
- 500 错误:查看 /var/log/apache2/error.log;若使用 PHP‑FPM,同时查看 /var/log/php8.3-fpm.log
- 端口未放行:确认 UFW/云安全组 已放行 80/443,云实例需配置 VCN 入站规则(端口 80)
附 Nginx + PHP‑FPM 方案简要
- 安装与启用
- Nginx:
sudo apt install nginx -y - PHP‑FPM(示例为 PHP 8.3):
sudo apt install php8.3-fpm php8.3-mysql php8.3-curl php8.3-gd php8.3-mbstring php8.3-xml php8.3-zip -y
- Nginx:
- 站点配置示例(/etc/nginx/sites-available/wordpress)
server { listen 80; server_name your-domain.com; root /var/www/html/wordpress; index index.php index.html; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.3-fpm.sock; } location ~* \.(gif|jpg|jpeg|png|webp)$ { expires 86400; } location ~* \.(htm|html|css|js)$ { expires 2592000; } } - 启用站点:
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/ & & sudo rm -f /etc/nginx/sites-enabled/default & & sudo nginx -t & & sudo systemctl reload nginx
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Ubuntu上部署WordPress
本文地址: https://pptw.com/jishu/780909.html
