Puo's 菜园子 学习园地 http://puo.cn
易记网址: http://wordpress.cn.com

用dmit 1h1g 20G的vps搭建宝塔及wordpress blog

#wordpress

这台 1核 / 1GB / 20GB + 宝塔 + WordPress ,优化目标不是追求极限跑分,而是 省内存、减少 PHP/MySQL 压力、避免突然 OOM,同时保证 WordPress 打开速度。

WordPress 官方性能文档也把 缓存列为最值得优先做的优化之一。Optimization – Advanced Administration Handbook [developer….dpress.org]

我建议按下面顺序做,先不要乱装一堆“优化插件”。


一、第一优先级:PHP 调小

进入:

宝塔 → 软件商店 → PHP → 设置 → 性能调整

你只有 1GB 内存,我建议从:

 

运行方式:ondemand
pm.max_children:4
pm.process_idle_timeout:10s
pm.max_requests:300

 

开始。

如果宝塔界面不是这些字段,你截图给我,我可以直接告诉你每一项填多少。

然后 PHP 配置:

 

memory_limit = 128M
max_execution_time = 120
max_input_time = 60
post_max_size = 32M
upload_max_filesize = 32M

 

注意 memory_limit=128M 不是说 PHP 总共占 128MB,而是单个 PHP 请求的内存上限。

OPcache 要开启

这个很值得开。WordPress 官方资料指出,opcode cache 可以避免 PHP 代码频繁重新解析。WordPress Optimization/WordPress Performance [codex.wordpress.org]

你的小机器可以从:

 

opcache.enable=1
opcache.memory_consumption=48
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60

 

开始。


二、MySQL/MariaDB 是重点

1GB VPS 千万不要按照高配置服务器调数据库。

进入:

宝塔 → 数据库对应的软件 → 设置 → 性能调整

如果宝塔有:

 

优化方案:
1-2GB
2-4GB
4-8GB

 

不要因为服务器是 1GB 就直接选某个模板然后结束。

因为你的 1GB 还要分给:

 

Debian
Nginx
PHP
MariaDB/MySQL
宝塔
3x-ui/Xray

 

数据库本身建议控制得比较小。

如果可以编辑 MySQL/MariaDB 配置,可考虑从:

 

innodb_buffer_pool_size = 128M
max_connections = 30
thread_cache_size = 8
table_open_cache = 256
tmp_table_size = 16M
max_heap_table_size = 16M

 

开始。

不过先别急着直接复制修改,因为不同 MySQL/MariaDB 版本当前配置可能不同。

你把:

宝塔 → MySQL/MariaDB → 性能调整

那个页面截图发我,我可以结合你实际数据库版本给你填写。


三、WordPress 最重要:页面缓存

这个效果会很明显。

WordPress 原本处理一个页面,大致涉及:

 

访问
 ↓
Nginx
 ↓
PHP
 ↓
WordPress
 ↓
MySQL
 ↓
生成 HTML
 ↓
返回

 

有页面缓存后,很多匿名访问可以直接使用缓存好的页面,减少重复 PHP 和数据库工作。WordPress 官方 Hosting Handbook 也说明缓存能减少重复计算并降低服务器负载,而且提到 NGINX 等服务器端方案通常比插件文件缓存更快。hosting-handbook/performance.md [github.com]

对你这台机器,我建议先简单一点

WordPress 只装一个缓存插件。

例如可以考虑 WP-Optimize,它提供页面缓存、图像压缩、数据库清理等功能。 [wordpress.org]

千万别:

 

WP-Optimize
+ WP Super Cache
+ W3 Total Cache
+ LiteSpeed Cache

 

一起装。

缓存插件一个就够。

如果你用的是宝塔 Nginx,我也不建议为了 LiteSpeed Cache 特意更换 Web Server。


四、Redis 暂时不要装

这点跟很多网上教程不一样。

你现在:

1GB RAM

我建议第一阶段:

不装 Redis。

WordPress 本身提供对象缓存机制,持久化对象缓存可以由额外机制实现。WP_Object_Cache [developer….dpress.org]

但你的 WordPress 如果只是普通博客、企业站或者个人网站,优先把:

 

页面缓存
+ OPcache
+ PHP-FPM
+ MariaDB

 

优化好。

等以后明确发现大量数据库重复查询或者网站流量上来了,再考虑 Redis。

对于现在这个配置来说,少一个常驻服务往往比多一个“优化组件”更适合你。


五、WordPress 插件做减法

打开:

WordPress后台 → 插件

认真看一下现在安装了什么。

能删则删:

  • 不使用的页面编辑器
  • 多个 SEO 插件
  • 多个安全插件
  • 多个缓存插件
  • 实时访问统计插件
  • 不使用的备份插件
  • 不使用的图片插件
  • WordPress 自带但你不用的示例插件

WordPress 官方的优化资料也建议禁用、删除不必要插件,并通过选择性禁用插件来判断是否有插件明显影响性能。WordPress Optimization/WordPress Performance [codex.wordpress.org]

但不是单纯追求插件数量越少越好。

一个很烂的插件可能比十个轻量插件还费资源,所以后面我们可以进一步找到底哪个插件吃 PHP/MySQL。


六、WordPress 自己的几个设置

网站目录找到:

 

wp-config.php

 

在:

 

/* That’s all, stop editing! Happy publishing. */

 

之前,可以考虑添加:

 

define(‘WP_MEMORY_LIMIT’, ‘128M’);
define(‘WP_MAX_MEMORY_LIMIT’, ‘128M’);
define(‘WP_POST_REVISIONS’, 5);
define(‘AUTOSAVE_INTERVAL’, 120);
define(‘EMPTY_TRASH_DAYS’, 7);

 

作用比较直观:

  • 文章修订最多保存 5 个
  • 自动保存间隔 120 秒
  • 回收站 7 天清理
  • 给 WordPress 设置合理内存边界

你只有 20GB SSD,所以修订版本、备份、日志、WordPress 图片都不要无限堆。


七、图片优化很重要

WordPress 官方性能文档明确把图片数量和文件大小列为影响性能的因素之一。Optimization – Advanced Administration Handbook [developer….dpress.org]

特别是你的 DMIT 在 LAX。

如果访问者主要在亚洲,图片一张几 MB,会比你调整 PHP 那几个参数明显得多。

建议:

 

普通文章图片:WebP
图片按实际显示尺寸上传
不要原图 5000×3000 然后网页只显示 800px
开启 Lazy Load

 

例如一篇文章十张 3MB 图片:

 

30MB

 

这种情况下,你后端 MySQL 怎么调都救不了前端体验。


八、CDN可以考虑 Cloudflare,但不是必须现在做

如果你的域名方便接入 Cloudflare,可以之后把:

 

DNS
↓
Cloudflare
↓
DMIT LAX

 

作为网站这一层。

CDN可以通过离用户更近的节点提供内容,也可以增加静态/整页缓存层。WordPress Hosting Handbook 明确描述了这一机制。hosting-handbook/performance.md [github.com]

不过不要把 3x-ui 节点跟 WordPress CDN 设置混在一起。

你的:

 

网站域名

 

和:

 

3x-ui面板/节点

 

继续分开处理最好。


九、你这个配置一定要有 Swap

之前我们提过这一项。

现在可以 SSH 执行:

 

free -h

 

再:

 

swapon –show

 

如果已经有我们之前配置的 2G swap,就不用动。

如果没有,告诉我,我们再配。

1GB 内存 + MySQL + PHP + WordPress + 宝塔 + 3x-ui,我非常建议保留 Swap。


十、20GB 硬盘要特别管日志和备份

你的磁盘反而可能比 CPU 更早出问题。

SSH:

 

df -h

 

然后:

 

du -sh /www/* 2>/dev/null

 

重点观察:

 

/www/wwwlogs
/www/backup
/www/wwwroot

 

尤其宝塔的自动备份。

不要设置成:

每天完整备份 WordPress + 数据库,永久保留。

20GB 很快可能就被备份占完。

可以采用:

 

数据库:每天备份,保留 3~5 份
网站文件:每周备份,保留 2~3 份

 

如果 WordPress 图片逐渐增多,最好把长期备份放到别处。


十一、我反而建议先不要做这些

目前别碰:

 

❌ Redis
❌ Memcached
❌ Docker WordPress
❌ Elasticsearch
❌ 多套缓存插件
❌ Apache + Nginx 同时运行
❌ 宝塔各种监控/安全插件全装
❌ WordPress 重型安全扫描
❌ 自动预加载整个站点
❌ 每几分钟全站缓存预热

 

这些东西各自都有用途,但不适合你现在这台 1C1G 全部堆上去。


所以你的最终架构保持很简单

 

DMIT 1C / 1G / 20G
│
├── 宝塔
│
├── Nginx
│    └── WordPress 页面缓存
│
├── PHP-FPM
│    └── OPcache 48M
│
├── MariaDB / MySQL
│    └── Buffer Pool ≈ 128M 起步
│
├── WordPress
│    ├── 轻量主题
│    ├── 少量插件
│    ├── 页面缓存
│    └── WebP / 图片优化
│
├── 3x-ui / Xray
│
└── 2G Swap

 

我建议我们不要一次改十项

下一步你直接给我两张截图:

  1. 宝塔 → PHP → 性能调整
  2. 宝塔 → MySQL/MariaDB → 性能调整

再告诉我你现在用的是 PHP 多少版本 + MySQL/MariaDB 多少版本。

我可以按照你这台 1H1G 的实际面板,逐项告诉你:这一格填多少、这一项开不开。这样比直接套网上的“WordPress 一键优化参数”安全得多。

打赏
谢谢谅解上文的粗糙,允许转载,请注明转载地址:Puo's 菜园子 » 用dmit 1h1g 20G的vps搭建宝塔及wordpress blog
分享到

评论 抢沙发

做一个好的个人学习园地

主要网建,域名、集装箱物流、生活方法论的学习及研究,整理等内容

我的原创博客-忆秋年Puo's菜园子-我的学习园地

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册