在 Linux 系统上安装 WordPress(通常指手动部署,非一键脚本或面板),需掌握以下核心命令与技能分类,按安装流程组织,并附实用说明和注意事项:
✅ 一、系统准备与基础操作
| 命令 | 用途 | 示例 |
|---|---|---|
sudo apt update && sudo apt upgrade -y(Ubuntu/Debian) sudo yum update -y 或 sudo dnf update -y(CentOS/RHEL/Rocky) |
更新系统软件包 | 确保安全补丁和依赖最新 |
hostnamectl |
查看主机名/系统信息 | 验证环境一致性 |
lsb_release -a / cat /etc/os-release |
查看发行版及版本 | 区分 Ubuntu 22.04 vs CentOS 7 等(影响软件源和配置) |
✅ 二、安装 LAMP/LNMP 环境(以主流 LAMP 为例)
| 组件 | 关键命令 | 说明 |
|---|---|---|
| Apache | sudo apt install apache2 -ysudo systemctl enable apache2 && sudo systemctl start apache2sudo ufw allow 'Apache Full' |
启用并放行防火墙端口(80/443) |
| MySQL/MariaDB | sudo apt install mysql-server -ysudo mysql_secure_installation |
必须执行! 设置 root 密码、禁用匿名用户等安全加固 |
| PHP 及扩展 | 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(Ubuntu 22.04+ 默认 PHP 8.1) |
WordPress 官方要求:PHP ≥ 7.4(推荐 ≥ 8.0),且需 mysqli, curl, gd, mbstring, xml, zip 等扩展 |
| 验证 PHP | php -vphp -m | grep -E "(mysql|curl|gd|mbstring)" |
检查版本与关键扩展是否加载 |
⚠️ 注意:若用 Nginx(LNMP),则替换为
nginx+php-fpm,配置方式不同(需修改location ~ .php$块)。
✅ 三、WordPress 部署核心命令
| 步骤 | 命令 | 说明 |
|---|---|---|
| 1. 创建网站目录 | sudo mkdir -p /var/www/example.comsudo chown -R $USER:$USER /var/www/example.com |
$USER 是当前普通用户(避免全程用 root) |
| 2. 下载 WordPress | cd /tmpcurl -O https://wordpress.org/latest.tar.gztar xzvf latest.tar.gzrsync -av wordpress/ /var/www/example.com/ |
推荐 rsync(保留权限/符号链接);避免 cp -r 权限问题 |
| 3. 设置文件权限 | sudo chown -R www-data:www-data /var/www/example.comsudo find /var/www/example.com -type d -exec chmod 755 {} ;sudo find /var/www/example.com -type f -exec chmod 644 {} ;sudo chmod 600 /var/www/example.com/wp-config.php |
关键安全实践! Web 服务器(www-data)需有写权限的仅限: • /wp-content/(主题/插件/上传)• /wp-config.php(配置文件) |
| 4. 创建 MySQL 数据库与用户 | mysql -u root -p<br>CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;<br>CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'StrongPass123!';<br>GRANT ALL ON wordpress_db.* TO 'wp_user'@'localhost';<br>FLUSH PRIVILEGES;<br>EXIT; | 务必使用 utf8mb4(支持 Emoji 和四字节 Unicode);密码强度要高 |
✅ 四、Web 服务器配置(Apache 示例)
| 命令 | 作用 |
|---|---|
sudo nano /etc/apache2/sites-available/example.com.conf |
创建虚拟主机配置文件(启用 .htaccess 支持需 AllowOverride All) |
sudo a2ensite example.com.confsudo a2enmod rewrite |
启用站点 + 重写模块(用于固定链接) |
sudo systemctl reload apache2 |
重载配置(比 restart 更轻量) |
📌 Apache 配置关键片段:
<VirtualHost *:80> ServerName example.com DocumentRoot /var/www/example.com <Directory /var/www/example.com> AllowOverride All # 必须启用,否则 permalinks 失效 Require all granted </Directory> </VirtualHost>
✅ 五、诊断与排错常用命令
| 场景 | 命令 | 说明 |
|---|---|---|
| 检查服务状态 | sudo systemctl status apache2 mysql php8.1-fpm |
看是否 active (running) 及最近错误日志 |
| 查看错误日志 | sudo tail -f /var/log/apache2/error.logsudo tail -f /var/log/mysql/error.logsudo tail -f /var/log/php_errors.log |
实时跟踪报错(如 PHP Fatal error, Connection refused) |
| 测试数据库连接 | mysql -u wp_user -p -h localhost wordpress_db |
验证 WordPress 配置中的 DB 凭据是否有效 |
| 检查文件权限 | ls -la /var/www/example.com/ |
确认 wp-config.php 所有者是 www-data 或可读,目录权限 755/文件 644 |
| 验证 PHP 模块 | php -i | grep "Loaded Configuration File" |
查看实际生效的 php.ini 路径,确认 upload_max_filesize, post_max_size 是否足够 |
✅ 六、进阶但强烈建议掌握
-
SSL 配置(Let’s Encrypt):
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d example.com -d www.example.com
→ 自动配置 HTTPS 并续期(WordPress 后台设置中强制 HTTPS) -
备份脚本示例(简单):
#!/bin/bash mysqldump -u wp_user -p'Pass' wordpress_db > /backup/db_$(date +%F).sql tar -czf /backup/site_$(date +%F).tar.gz /var/www/example.com -
安全加固:
sudo adduser --disabled-password --gecos "" deploy(新建无登录权限的部署用户)
sudo usermod -aG www-data deploy(赋予 web 目录组权限)
❗重要提醒(避坑指南)
- ✅ 永远不要用
root用户直接运行wp-cli或修改网站文件 —— 使用普通用户 +sudo提权。 - ✅ WordPress 安装后立即删除
wp-admin/install.php(自动完成安装后已无用)。 - ✅ 修改
wp-config.php后,重启 PHP-FPM(若使用)或重载 Apache/Nginx(部分配置需重启生效)。 - ✅ 国内用户下载慢?换镜像:
curl -O https://mirrors.tuna.tsinghua.edu.cn/wordpress/latest-zh_CN.tar.gz - ✅ 固定链接(Permalinks)失效?检查 Apache 是否启用
rewrite模块 + 虚拟主机中AllowOverride All。
✅ 总结一句话掌握要点:
“更新系统 → 装好 LAMP → 下载解压 WP → 配 DB + 权限 → 配虚拟主机 → 开启 rewrite → 访问安装向导 → 查日志排错”,每步都离不开上述命令支撑。
如需我为你生成一份 完整的 Ubuntu 22.04 一键安装脚本 或 Nginx + PHP-FPM 版本详细配置,欢迎随时提出 👍
是否需要我为你整理成 PDF 笔记或提供带注释的自动化部署脚本?
CLOUD技术博