在 Hostinger VPS 上部署 CyberPanel:完整配置与优化指南
从系统初始化、CyberPanel 安装、WordPress 部署到 Nginx 与 PHP 调优的完整流程,包含实测性能数据与常见报错解决方法。
推广披露:本文包含 Hostinger 联盟推广链接。您通过链接购买时我们可能获得佣金, 但不会影响您支付的价格,也不影响我们的评测结论。 所有产品均为自费购买实测。
展开本文目录
- 为什么选这个组合
- 第一步:系统初始化(约 15 分钟)
- 1.1 选择操作系统
- 1.2 通过 SSH 登录
- 1.3 立即修改 SSH 配置(安全加固第一步)
- 1.4 系统更新与基础工具
- 1.5 配置防火墙
- 1.6 配置 fail2ban
- 1.7 设置时区与 swap
- 第二步:安装 CyberPanel(约 20 分钟)
- 2.1 运行官方安装脚本
- 2.2 安装卡住的排查
- 2.3 登录面板
- 第三步:配置网站与 WordPress(约 15 分钟)
- 3.1 创建网站
- 3.2 部署 WordPress
- 第四步:性能优化(关键环节,约 25 分钟)
- 4.1 PHP 调优
- 4.2 OpenLiteSpeed 调优
- 4.3 配置 Redis 对象缓存
- 4.4 配置 LiteSpeed Cache 插件
- 第五步:数据库优化
- 5.1 MySQL 参数调优
- 5.2 定期优化数据库
- 第六步:备份策略
- 6.1 站点文件备份
- 6.2 异地备份(重要)
- 常见报错与解决
- 实测性能总结
- 值得花时间的地方
为什么选这个组合
Hostinger VPS + CyberPanel + OpenLiteSpeed 是一套在性价比上很难被超越的组合:
| 组件 | 为什么选它 |
|---|---|
| Hostinger KVM VPS | 完整 root、独立 IP、真 NVMe,价格是同类的一半 |
| CyberPanel | 免费、开源、界面清爽,集成 OpenLiteSpeed |
| OpenLiteSpeed | 在 WordPress 场景下静态请求处理比 Nginx 快 20% 到 40% |
| LiteSpeed Cache | 与 OpenLiteSpeed 原生配合,缓存命中率极高 |
我们的测试环境是 KVM 2(2 核 8GB 100GB NVMe),下面所有数据都基于这套配置。
第一步:系统初始化(约 15 分钟)
1.1 选择操作系统
在 hPanel 的 VPS 管理页面,选择 Ubuntu 24.04 LTS。
为什么不用 CentOS 或 AlmaLinux?因为 CyberPanel 的官方一键脚本对 Ubuntu 支持更完善,且 Ubuntu 的软件源更新更快。如果你更熟悉 RHEL 系,AlmaLinux 9 也是可选项,但部分命令需要调整。
1.2 通过 SSH 登录
在 VPS 面板查看 IP 地址,然后从本地终端登录:
ssh root@你的VPS_IP
首次登录会提示接受主机密钥,输入 yes,然后输入面板设置的 root 密码。
1.3 立即修改 SSH 配置(安全加固第一步)
默认的 root + 密码登录方式是最容易被暴力破解的目标。建议改成密钥登录:
# 在本地机器生成密钥对(如果还没有)
ssh-keygen -t ed25519 -C "your-email@example.com"
# 把公钥上传到服务器
ssh-copy-id root@你的VPS_IP
# 验证密钥登录可用后,回到服务器上禁用密码登录
ssh root@你的VPS_IP
在服务器上编辑 SSH 配置:
nano /etc/ssh/sshd_config
# 修改或添加以下三行
PermitRootLogin prohibit-password
PasswordAuthentication no
PubkeyAuthentication yes
# 保存后重启 SSH 服务
systemctl restart sshd
重要:在禁用密码登录之前,务必先确认密钥登录能成功。开一个新终端测试,如果密钥登录失败而你又禁用了密码,就会被锁在外面,只能通过面板重装系统。
1.4 系统更新与基础工具
apt update && apt upgrade -y
# 安装常用工具
apt install -y curl wget git htop nano ufw fail2ban unzip
1.5 配置防火墙
只开放必要的端口:
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp # SSH
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
ufw allow 7080/tcp # CyberPanel 管理面板
ufw allow 8090/tcp # CyberPanel(新版控制台)
ufw enable
ufw status
不要开放 3306(MySQL),数据库只应该在本机访问。如果你需要远程连接数据库,用 SSH 隧道而不是直接开放端口:
# 本地建立隧道后,用 127.0.0.1:3307 连接即可
ssh -L 3307:127.0.0.1:3306 root@你的VPS_IP
1.6 配置 fail2ban
自动封禁暴力破解的 IP:
systemctl enable fail2ban
systemctl start fail2ban
# 查看被封禁的 IP
fail2ban-client status sshd
1.7 设置时区与 swap
# 设为北京时间
timedatectl set-timezone Asia/Shanghai
# 创建 2GB swap(对 4GB 以下内存的 VPS 尤其重要)
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
# 降低 swap 使用倾向(1 表示只在必要时使用)
sysctl vm.swappiness=10
echo 'vm.swappiness=10' >> /etc/sysctl.conf
第二步:安装 CyberPanel(约 20 分钟)
2.1 运行官方安装脚本
sh <(curl -s https://cyberpanel.net/install.sh || wget -O - https://cyberpanel.net/install.sh)
交互式安装会让你选择:
| 提示 | 选择 | 说明 |
|---|---|---|
| Install CyberPanel | 1 | 全新安装 |
| CyberPanel version | 1 | 最新稳定版 |
| Install OpenLiteSpeed | 1 | 或选 LiteSpeed Enterprise(需授权) |
| Install MySQL | 1 | MariaDB 10.11 版本更稳定 |
| Set up default password | 输入强密码 | 记下来,这是面板登录密码 |
| Install Memcached / Redis | y | Redis 对 WordPress 有加速作用 |
| Install Postfix | y | 邮件功能需要 |
| Choose Watcher | 默认即可 | 资源监控 |
安装过程需要 15 到 25 分钟,取决于网络速度。
2.2 安装卡住的排查
最常见的卡点是 MySQL 安装失败,通常是内存不足导致。
# 另开一个终端查看内存情况
free -h
# 查看安装日志
tail -f /var/log/cyberpanel-install.log
如果 free -h 显示 available 内存低于 500MB,且 swap 已被大量占用,说明 2GB 内存不够完成安装。
解决方式:升级到 4GB 以上配置,或用面板重装系统后在安装前先创建更大的 swap 分区。
2.3 登录面板
安装完成后访问:
https://你的VPS_IP:8090
会提示证书不受信任(因为是自签名证书),点击“继续访问”。用 admin 和刚才设置的密码登录。
登录后第一件事:在面板的 SSL 设置里为面板本身配置 Let’s Encrypt 证书,避免每次访问都看到警告。
第三步:配置网站与 WordPress(约 15 分钟)
3.1 创建网站
在 CyberPanel 主界面:
- 点击「Websites」→「Create Website」
- 填写域名(需要提前把域名解析到这个 IP)
- 选择 PHP 版本(推荐 PHP 8.3)
- 勾选「SSL」→ 选择 Let’s Encrypt
- 勾选「DKIM Support」如果需要邮件功能
- 点击创建
创建过程会自动完成:目录创建、虚拟主机配置、SSL 申请、数据库创建。
3.2 部署 WordPress
CyberPanel 内置了一键部署:
- 点击「Websites」→「List Websites」→ 找到站点 → 点击「Manage」
- 左侧菜单选择「WordPress」→「Install WordPress」
- 填写站点标题、管理员用户名、密码、邮箱
- 选择语言
- 点击安装
安装完成后会显示 WordPress 的登录地址与管理员信息。
第四步:性能优化(关键环节,约 25 分钟)
这一步决定了你的 VPS 能否发挥出应有水平。不优化的话,性能可能只到共享主机的水准。
4.1 PHP 调优
# 编辑 PHP 配置
nano /usr/local/lsws/lsphp83/etc/php/8.3/litespeed/php.ini
按 KVM 2(8GB 内存)的配置调整:
; 单站点够用的设置
memory_limit = 256M
max_execution_time = 300
post_max_size = 64M
upload_max_filesize = 64M
max_input_vars = 5000
; OPcache 是免费的性能提升
opcache.enable = 1
opcache.memory_consumption = 256
opcache.interned_strings_buffer = 32
opcache.max_accelerated_files = 20000
opcache.revalidate_freq = 60
opcache.validate_timestamps = 0
; 启用 JIT(对 PHP 8 有额外提升)
opcache.jit = 1255
opcache.jit_buffer_size = 128M
修改后重启 PHP 服务:
systemctl restart lsws
注意 opcache.validate_timestamps = 0:这意味着 PHP 不再检查文件是否被修改,性能更好。但代价是你每次改 PHP 文件后必须手动清空 OPcache,否则改动不生效。
# 手动清空 OPcache
systemctl restart lsws
# 或在 CyberPanel 面板中「Restart LiteSpeed」
如果你经常改代码,把它设为 1 并配一个较小的 revalidate_freq(比如 2 秒),牺牲一点性能换取便利。
4.2 OpenLiteSpeed 调优
在 CyberPanel 面板的「Server Status」→「LiteSpeed Configuration」中调整,或直接编辑配置文件:
nano /usr/local/lsws/conf/httpd_config.conf
关键参数:
# 每进程最大连接数
maxConnections 10000
# 保持连接的超时(秒)
keepAliveTimeout 5
# 启用 Gzip 压缩
enableGzip 1
4.3 配置 Redis 对象缓存
Redis 能显著降低数据库查询压力,对 WordPress 尤其有效。
# 检查 Redis 状态(安装时应该已经装好)
systemctl status redis
# 优化 Redis 内存策略
nano /etc/redis/redis.conf
# 修改以下两行
maxmemory 256mb
maxmemory-policy allkeys-lru
然后在 WordPress 后台安装「Redis Object Cache」插件,在 wp-config.php 添加:
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
define('WP_CACHE', true);
启用插件后,在插件设置里点击「Enable Object Cache」。
4.4 配置 LiteSpeed Cache 插件
在 WordPress 后台安装 LiteSpeed Cache,按这个顺序配置:
- Presets(预设)→ 选择「Advanced」
- Cache → 开启「Enable Cache」
- Cache → 保存后点击「Purge All」
- Page Optimization → CSS/JS 压缩与合并(谨慎开启,可能造成布局问题)
- Image Optimization → 开启自动优化
实测效果(KVM 2,WordPress 8.1,含 WooCommerce):
| 配置阶段 | 首页 TTFB | 文章页 TTFB |
|---|---|---|
| 未优化 | 892ms | 764ms |
| 开启 OPcache + JIT | 412ms | 388ms |
| 加 Redis 对象缓存 | 286ms | 264ms |
| 加 LiteSpeed 页面缓存 | 118ms | 96ms |
从 892ms 降到 118ms,提升 7.6 倍,而且全部是通过软件配置实现的,没有多花一分钱。
第五步:数据库优化
5.1 MySQL 参数调优
nano /etc/my.cnf
对 8GB 内存的 VPS,建议配置:
[mysqld]
innodb_buffer_pool_size = 2G
innodb_log_file_size = 512M
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
max_connections = 150
query_cache_type = 0
query_cache_size = 0
# 慢查询日志(用于排查性能问题)
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2
innodb_buffer_pool_size 是最重要的参数——设为物理内存的 25% 到 40% 能显著提升数据库性能。
systemctl restart mysqld
5.2 定期优化数据库
WordPress 的 wp_options 表会随着时间膨胀(特别是装了 WooCommerce 后)。建议每月执行一次:
-- 优化所有表
OPTIMIZE TABLE wp_options;
OPTIMIZE TABLE wp_posts;
OPTIMIZE TABLE wp_postmeta;
-- 清理过期的 transient 数据
DELETE FROM wp_options WHERE option_name LIKE '_transient_%' AND option_name NOT LIKE '_transient_timeout_%';
也可以装 WP-Optimize 插件在后台完成。
第六步:备份策略
VPS 不提供自动备份(Hostinger 的 VPS 有快照功能但需在面板操作),必须自己配置。
6.1 站点文件备份
# 创建备份脚本
nano /root/backup.sh
#!/bin/bash
# 站点与数据库自动备份脚本
BACKUP_DIR="/root/backups"
DATE=$(date +%Y%m%d_%H%M)
KEEP_DAYS=7
mkdir -p $BACKUP_DIR
# 备份网站文件
tar -czf $BACKUP_DIR/files_$DATE.tar.gz /home/你的域名/public_html
# 备份数据库
mysqldump -u root -p'你的密码' 数据库名 | gzip > $BACKUP_DIR/db_$DATE.sql.gz
# 删除 7 天前的备份
find $BACKUP_DIR -name "*.tar.gz" -mtime +$KEEP_DAYS -delete
find $BACKUP_DIR -name "*.sql.gz" -mtime +$KEEP_DAYS -delete
echo "Backup completed: $DATE"
chmod +x /root/backup.sh
# 配置每天凌晨 3 点自动执行
crontab -e
# 添加这一行
0 3 * * * /root/backup.sh >> /var/log/backup.log 2>&1
6.2 异地备份(重要)
本地备份在服务器故障时会一起丢失。建议同步到外部存储:
# 安装 rclone
curl https://rclone.org/install.sh | bash
# 配置云存储(支持 Google Drive、S3、OneDrive 等)
rclone config
然后在备份脚本末尾添加同步命令:
# 同步到 Google Drive
rclone sync $BACKUP_DIR gdrive:hostinger-vps-backup
常见报错与解决
| 报错 | 原因 | 解决 |
|---|---|---|
| 安装卡在 “Installing MySQL” | 内存不足 | free -h 检查,升级配置或增大 swap |
| 面板 8090 端口打不开 | 防火墙未放行 | ufw allow 8090/tcp |
| SSL 申请失败 | 域名解析未生效 | 用 dig 你的域名 确认 IP 正确 |
| WordPress 提示“建立数据库连接出错” | 数据库凭据不符 | 核对 wp-config.php 里的名称与 CyberPanel 显示的是否一致 |
| 站点 500 错误 | PHP 配置语法错误 | 检查 php.ini,或临时恢复备份 |
| 修改代码后不生效 | OPcache 未清空 | 重启 lsws 或关闭 validate_timestamps |
| 磁盘空间不足 | 日志或备份占满 | `du -sh /* |
实测性能总结
在同一台 KVM 2 上,我们部署了 12 个 WordPress 站点(含 2 个 WooCommerce),用 k6 做 60 并发持续压测 24 小时:
| 指标 | 结果 |
|---|---|
| 平均 1 分钟负载 | 0.71 |
| 内存占用 | 5.2 GB / 8 GB |
| 平均 TTFB | 121ms |
| P95 TTFB | 268ms |
| 缓存命中率 | 94.3% |
| 磁盘 I/O 等待 | < 3% |
负载 0.71 对 2 核意味着 CPU 利用率约 36%,仍有充足的余量。
值得花时间的地方
如果时间有限,优先级排序是:
- SSH 密钥登录 + 关闭密码登录——安全收益最大,成本 5 分钟
- OPcache + JIT——性能提升最明显,成本 10 分钟
- LiteSpeed Cache 页面缓存——把 TTFB 从 286ms 压到 118ms 的关键
- 自动备份脚本——出事时的唯一保障
- Redis 对象缓存——对动态请求有改善,但仍不解决 400ms 量级的瓶颈
- MySQL 参数调优——站点数量多了之后才有明显感知
前四项加起来不到 40 分钟,能把一台裸 VPS 变成生产环境可用的状态。后面的优化可以随着站点增长逐步做。
一句话总结:VPS 的性能上限远高于共享主机,但这个上限需要你去解锁。 上面每一步的实测数据都说明,同样的硬件,优化前后能差 7 倍以上。
关于本文主题的常见问题
CyberPanel 和宝塔面板该选哪个?
CyberPanel 用 OpenLiteSpeed 作为 Web 服务器,在 WordPress 场景下性能优于 Nginx,且免费版功能完整。宝塔的优势是中文界面与国内生态。技术站推荐 CyberPanel,纯中文环境推荐宝塔。
安装 CyberPanel 需要多少内存?
最低 2GB,推荐 4GB 以上。2GB 可以完成安装,但运行 OpenLiteSpeed + MySQL + PHP 会比较吃力。我们推荐 KVM 2(8GB)作为起点。
安装过程中卡住怎么办?
最常见原因是内存不足导致 MySQL 安装失败。用 free -h 检查内存,如果 swap 被大量占用,说明内存不够。建议升级配置后重装操作系统再试。
Hostinger VPS 可以装宝塔吗?
可以。KVM 系列提供完整 root 权限,支持任意面板。安装脚本与在其他 VPS 上完全一致,没有特殊限制。