首页主机资讯如何在Ubuntu上部署WordPress

如何在Ubuntu上部署WordPress

时间2026-01-16 04:39:04发布访客分类主机资讯浏览223
导读:在 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

二 安装与配置 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 Allmod_rewrite
    • 数据库连接失败:核对 wp-config.phpDB_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
  • 站点配置示例(/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
Ubuntu Apache与Nginx比较 Ubuntu Apache错误代码解析

游客 回复需填写必要信息