在云服务器(无论是阿里云、腾讯云还是华为云等主流厂商)上搭建 LAMP (Linux, Apache, MySQL, PHP) 环境来跑 WordPress,是目前最经典也最稳定的方案之一。虽然现在 Docker 和容器化很火,但对于个人博客或中小型网站,原生安装依然简单直接且资源占用可控。
以下是在 Ubuntu 20.04/22.04 LTS 版本下,从零开始配置 LAMP 并部署 WordPress 的完整步骤。我会尽量避开那些网上抄来抄去的废话,直接给干货和需要注意的坑。
第一步:系统更新与基础准备
登录你的服务器(通过 SSH),首先确保系统包是最新的。这一步很多人会跳过,但依赖库冲突往往就出在这里。
sudo apt update && sudo apt upgrade -y
第二步:安装 Apache 2
Apache 是最成熟的 Web 服务器软件。
sudo apt install apache2 -y
安装完成后,检查服务状态:
sudo systemctl status apache2
关键点:
- 防火墙放行:如果你开启了 UFW 防火墙(Ubuntu 默认可能没开,但云服务器安全组必须开),记得放行 HTTP (80) 和 HTTPS (443)。
sudo ufw allow 'Apache Full' sudo ufw enable - 验证:浏览器访问
http://<你的公网IP>,看到 “It works!” 页面说明 Apache 启动正常。
第三步:安装 MySQL 数据库
WordPress 需要数据库来存储内容。我们选择 MariaDB 或者 MySQL 均可,这里以标准的 MySQL 为例(部分新镜像默认推荐 MariaDB,两者兼容,用法一致)。
sudo apt install mysql-server -y
安装后,务必运行安全脚本,这是很多新手忽略的安全隐患:
sudo mysql_secure_installation
按照提示操作:
- Validate Password Component(密码强度校验插件):建议开启,设置强密码。
- Remove anonymous users:Y
- Disallow root login remotely:Y(禁止远程 root 登录,安全起见)
- Remove test database:Y
- Reload privilege tables now:Y
创建 WordPress 专用数据库和用户:
sudo mysql
进入 MySQL 命令行后,依次执行以下 SQL 语句(请替换 your_password 为你自己的强密码):
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
注:使用 utf8mb4 是为了支持 Emoji 表情等特殊字符,这对中文环境和现代网页很重要。
第四步:安装 PHP 及必要模块
LAMP 中的 P 就是 PHP。我们需要安装 PHP 以及让 PHP 能连接 Apache 和 MySQL 的模块。
sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y
这里列出的模块是 WordPress 官方推荐的核心扩展。特别是 php-mbstring 和 php-intl,很多插件报错都是因为缺这些。
调整 PHP 配置(可选但推荐):
为了应对稍大一点的流量或上传较大的媒体文件,可以修改 php.ini:
sudo nano /etc/php/7.4/apache2/php.ini
# 注意:版本号可能因 Ubuntu 版本不同而不同,如 8.0, 8.1, 8.2 等,请用 php -v 查看当前版本对应的路径
查找并修改以下参数(如果没有则添加):
memory_limit = 256Mupload_max_filesize = 64Mpost_max_size = 64Mmax_execution_time = 300
修改后重启 Apache 使配置生效:
sudo systemctl restart apache2
测试 PHP 是否工作:
创建一个 info 页面:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
浏览器访问 http://<你的公网IP>/info.php,如果能显示 PHP 信息页,说明环境通了。记得装完 WordPress 后删除这个文件,防止泄露服务器信息。
第五步:下载并配置 WordPress
不要直接在服务器上解压压缩包,这样权限管理很麻烦。推荐从官网下载最新稳定版。
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
将文件移动到 Apache 的默认目录 /var/www/html:
sudo mv wordpress/* /var/www/html/
最关键的一步:权限设置
Apache 进程通常以 www-data 用户身份运行。我们需要让该用户拥有对网站目录的写权限(用于上传图片和生成配置文件)。
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
注意:不要使用 chmod 777,那是巨大的安全隐患。755 配合正确的所有者即可满足需求。如果后续遇到上传失败,再针对性地调整特定文件夹权限,而不是全局放开。
第六步:通过 Web 界面完成安装
现在打开浏览器,输入 http://<你的公网IP>。
- 选择语言(简体中文)。
- 点击“开始”。
- 填写数据库信息:
- 数据库名:
wordpress - 用户名:
wordpressuser - 密码:你在第三步设置的
your_password - 数据库主机:
localhost - 表前缀:
wp_(保持默认即可,除非你有多个 WP 实例共用一个库)
- 数据库名:
- 点击“提交”,然后“运行安装程序”。
- 填写站点标题、管理员账号、密码、邮箱等信息。
- 点击“安装 WordPress”。
至此,LAMP + WordPress 环境搭建完成。
进阶优化建议(避坑指南)
-
固定链接(Permalinks):
默认链接结构是?p=123,不利于 SEO。进入后台 -> 设置 -> 固定链接,选择“文章名”。
如果点击后出现 404 错误,是因为 Apache 没有开启mod_rewrite模块。
解决方法:sudo a2enmod rewrite sudo nano /etc/apache2/sites-available/000-default.conf在
<Directory /var/www/html>块中,将AllowOverride None改为AllowOverride All。
最后重启 Apache:sudo systemctl restart apache2。 -
HTTPS 证书(Let’s Encrypt):
现在没有 SSL 证书的网站会被浏览器标记为“不安全”,严重影响体验。推荐使用 Certbot 自动申请免费证书。sudo apt install certbot python3-certbot-apache -y sudo certbot --apache按照提示输入邮箱和域名(如果是 IP 地址访问,需先绑定域名解析到服务器 IP),Certbot 会自动配置 Apache 并重定向到 HTTPS。
-
性能与安全:
- WAF/防火墙:除了系统自带的 UFW,建议开启云厂商自带的“Web 应用防火墙”或“安全组”策略,只开放 80/443 端口,SSH 端口限制特定 IP 访问。
- 备份:WordPress 最怕数据丢失。定期备份数据库和
/var/www/html/wp-content/uploads目录。可以使用云服务器的快照功能,或者安装 UpdraftPlus 等插件自动备份到 OSS/S3。
-
关于 PHP 版本:
Ubuntu 22.04 默认可能安装 PHP 8.1。PHP 7.4 已经停止维护,建议直接使用 8.0 或 8.1+,性能更好,安全性更高。上述命令中的libapache2-mod-php会自动适配当前安装的 PHP 版本,无需手动指定版本号。
按照这个流程走下来,基本不会遇到什么大坑。如果遇到具体报错,通常是权限问题或模块缺失,对照上面的步骤排查即可。
云技术博客