WordPress 手动安装:在 VDS 上从零到运行的完整指南
在 VDS 上不用控制面板手动安装 WordPress。Apache/Nginx、PHP、MySQL、文件权限与安全步骤。
想在 VDS 上不用 Plesk/cPanel 从零手动安装 WordPress?本文涵盖 Ubuntu 22.04 上 LAMP/LEMP 栈准备、放置 WordPress 文件、创建 MySQL 数据库与安全步骤。
前置条件
- 2 vCPU + 2 GB RAM VDS(WordPress 入门级)
- Ubuntu 22.04 / Debian 12
- root 权限(
sudo) - 域名 DNS A 记录指向 VDS IP
1. 更新系统
sudo apt update && sudo apt upgrade -y
2. 安装 LAMP 栈(Apache + MySQL + PHP)
LEMP(Nginx)见我们的 Nginx 文章。
sudo apt install apache2 mysql-server -y
# PHP 8.3 + WordPress 所需模块
sudo apt install php8.3 php8.3-fpm php8.3-mysql php8.3-curl php8.3-gd \
php8.3-mbstring php8.3-xml php8.3-zip php8.3-imagick libapache2-mod-php8.3 -y
sudo systemctl enable --now apache2 mysql
3. 加固 MySQL
sudo mysql_secure_installation
- 设 root 密码
- Anonymous users → Yes(删)
- Remote root login → Yes(禁)
- Test database → Yes(删)
详细 MySQL 操作见我们的 MariaDB/MySQL 文章。
4. 为 WordPress 创建数据库
sudo mysql -u root -p
CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY '强密码';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
5. 下载 WordPress
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
sudo mv wordpress /var/www/你的-站点.com
多站用各自文件夹。
6. 文件权限
sudo chown -R www-data:www-data /var/www/你的-站点.com
sudo find /var/www/你的-站点.com -type d -exec chmod 755 {} \;
sudo find /var/www/你的-站点.com -type f -exec chmod 644 {} \;
sudo chmod -R 775 /var/www/你的-站点.com/wp-content
7. 配置 Apache vhost
sudo nano /etc/apache2/sites-available/你的-站点.com.conf
<VirtualHost *:80>
ServerName 你的-站点.com
ServerAlias www.你的-站点.com
DocumentRoot /var/www/你的-站点.com
<Directory /var/www/你的-站点.com>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/你的-站点.com_error.log
CustomLog ${APACHE_LOG_DIR}/你的-站点.com_access.log combined
</VirtualHost>
sudo a2enmod rewrite
sudo a2ensite 你的-站点.com.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2
8. wp-config.php
cd /var/www/你的-站点.com
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php
define( 'DB_NAME', 'wordpress_db' );
define( 'DB_USER', 'wp_user' );
define( 'DB_PASSWORD', '强密码' );
define( 'DB_HOST', 'localhost' );
Authentication keys:https://api.wordpress.org/secret-key/1.1/salt/ → 复制粘贴到 wp-config.php 对应位置。
9. 安装 SSL
必备——见 Let’s Encrypt 文章:
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d 你的-站点.com -d www.你的-站点.com
10. 浏览器中完成
打开 https://你的-站点.com:
- 选语言 → Continue
- Site Title, admin Username, Password, Email → Install WordPress
5 秒内就绪。
安装后安全
- 不要用 “admin” 作用户名(默认暴力破解目标)
- wp-admin 用防火墙限制 —— 只允许自己 IP(UFW 文章)
- 关闭 XML-RPC —— WP 会变成 DDoS 工具
- 2FA 插件:Wordfence Login Security
- 自动更新:
wp-config.php加define('WP_AUTO_UPDATE_CORE', 'minor'); - cron 备份:没有 Plesk 自己写 cron(cron 文章)
性能优化
- 启用 OPcache:
php.ini→opcache.enable=1 - 对象缓存:装 Redis
- 缓存插件:WP Rocket / LiteSpeed Cache
- CDN:Cloudflare 文章
详细性能见 WordPress 主机文章。
常见错误
- “Error establishing database connection”:
wp-config.phpDB 信息错或 MySQL 未启 - 404(永久链接):
mod_rewrite未启用 →sudo a2enmod rewrite - 白屏死机:PHP 错误 →
tail -f /var/log/apache2/error.log - “Allowed memory size exhausted”:
wp-config.php加define('WP_MEMORY_LIMIT', '256M'); - 图片上传失败:
wp-content/uploads权限错
结论
手动安装是 20 分钟工作但提供完整控制——Plesk 需要额外许可证,手动免费。生产 WordPress:手动 + nginx-proxy + Let’s Encrypt + Cloudflare = 最快的栈。
KavesNET VDS 套餐 用 NVMe SSD,针对 WordPress 优化。
相关 文章
您可能也喜欢这些。
什么是 NVMe SSD?它对服务器性能的影响(对比 SATA SSD)
什么是 NVMe?它与 SATA SSD 有何区别?用 IOPS、延迟与真实数据说明 NVMe 为何已成为服务器标准。
阅读更多
什么是独立服务器(Dedicated Server)?谁真正需要它?
什么是独立服务器?它与 VDS 有何区别、何时必须使用?优势、成本与服务器托管(co-location)替代方案,尽在本指南。
阅读更多
VDS 租用指南:下单前必查的 10 项标准
从 CPU 型号到磁盘类型,从 DDoS 防护到备份——租用 VDS 前必须核实的 10 项标准,逐条讲解。别选错套餐。
阅读更多