V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xianxiaobo
V2EX  ›  程序员

服务器只有 2 核 2G,需要部署一个个人网站,怎么尽可能的减少内存占用?

  •  
  •   xianxiaobo · 2023-02-27 11:16:50 +08:00 · 12864 次点击
    这是一个创建于 395 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如数据库用 sqlite? 后端语言选什么呢?开发框架选什么呢? 有人了解这一块儿的吗? 最好是有一套方案的那种,谢谢了。

    135 条回复    2023-03-01 08:30:00 +08:00
    1  2  
    dolorain
        101
    dolorain  
       2023-02-27 23:02:47 +08:00
    php go nodejs 吧 其他的别想了 java 非常不推荐 python 最好也别用
    Akitora
        102
    Akitora  
       2023-02-27 23:13:52 +08:00
    我 1G 都能塞个 spring boot 进去
    dann73580
        103
    dann73580  
       2023-02-27 23:44:19 +08:00
    内存真的不够不如跑个 zram
    ragnaroks
        104
    ragnaroks  
       2023-02-28 00:11:00 +08:00
    除非你在用 java ,否则没有必要考虑内存问题,对于新手来说 nodejs 是最合适的,内存占用适中,开发速度快。
    oszlso
        105
    oszlso  
       2023-02-28 00:48:57 +08:00
    好兄弟,256MB 的内存就够你用了
    chrawsl
        106
    chrawsl  
       2023-02-28 00:57:36 +08:00
    2C2G 已经算高配了,我的 2C1G 都用了好久,还有个 1C0.5G 的
    kdwnil
        107
    kdwnil  
       2023-02-28 02:39:44 +08:00 via Android
    2c2g 搭个人网站,随便造都没问题
    kjstart
        108
    kjstart  
       2023-02-28 06:04:27 +08:00
    直接用 WordPress 加模版就行了, 从博客到卖货都有, 还有各种 SEO 插件. LAMP 架构, 我部署在 1C1G 的 OCI free tier 内存占用 80%
    kjstart
        109
    kjstart  
       2023-02-28 06:06:43 +08:00
    包你一天搭建成功哈, 教程看这里, 我昨天刚搭的
    https://www.alvinliu.com/2023/02/27/ubuntu-lamp-wordpress/
    codeqihan
        110
    codeqihan  
       2023-02-28 07:36:39 +08:00
    2 核 2G 够了,我只有 1 核 2G ,照样可以写 typecho+artalk 评论
    hsuyeung
        111
    hsuyeung  
       2023-02-28 08:04:19 +08:00 via iPhone
    go ?

    不过我的个人博客就是用 iava 写的,没前后端分离,跑了 mysql 和 redis ,服务器 1c2g ,除了带宽低加载图片略慢,其他暂时没感觉到有啥问题。
    herozzm
        112
    herozzm  
       2023-02-28 08:07:24 +08:00
    屏蔽而已爬虫,我是将阿里云和腾讯云的的 ip 段都加入了 blacklist
    debuggeeker
        113
    debuggeeker  
       2023-02-28 08:38:21 +08:00
    自己做的,前后端分离,spring ,nuxt ,容器,需要 3g 多内存,我 4g 的服务器 11 月到期了,正愁着下一家服务器
    soar0712
        114
    soar0712  
       2023-02-28 08:52:55 +08:00
    如果对交互没要求纯展示的话,不需要写后端,前端写好打包放到 nginx 下,配合 md 文件,足够了
    tairan2006
        115
    tairan2006  
       2023-02-28 08:57:14 +08:00
    不用 java ,2G 嫌多,哈哈
    iSecret
        116
    iSecret  
       2023-02-28 09:10:05 +08:00
    Typecho + SQLite ,1C0.5G + 10G 磁盘,跑了五年了。
    xiaocaiji111
        117
    xiaocaiji111  
       2023-02-28 09:22:56 +08:00
    @Jtyczc 你这个配置完全可以给个 1G ,够用了。甚至 512m 我觉得很长时间都不会有问题,我们线上的 pod 几百个都是 0.5 核 512m 的。如果再极限一点儿 1.2G 这样子,给操作系统要留些。
    很多 java 程序上来爆内存的,估计写的有问题吧。但是要是相比 go ,rust 这些占内存确实太多。可以试试 halo 这个博客系统,很多人在用。
    shellic
        118
    shellic  
       2023-02-28 09:24:02 +08:00
    那这必须 PHP
    squarefong17
        119
    squarefong17  
       2023-02-28 10:48:57 +08:00
    可以向 leanote 学习,后端用 go 写的。我自己的是用 leanote 搭建的,服务器硬件就是一个单核 500M 的阿里云小机器。这玩意本身是一个云笔记系统,正好支持将笔记公开为博客,并且还能设置首页不是登录页,而是 admin 的博客主页,这就刚好能当博客用了。
    Bluecoda
        120
    Bluecoda  
       2023-02-28 11:06:31 +08:00
    想省资源直接静态站就行,一个 nginx 就能搞定了,几 m 内存而已
    Gatsby Hugo Jekyll 都可以做到
    wxlwsy
        121
    wxlwsy  
       2023-02-28 11:17:57 +08:00
    java 确实比其他语言费内存点, 但是纯 javase 来说完全够用.如果你上 springboot 一套的话内存也够用.就我的经验来说 mysql 直接吃了我一半内存.给你个解决方案:
    服务器只跑静态页面, 动态逻辑可以 frpc 放家里服务器.
    我用这个实现了永恒之塔真端(要 30+G 内存).我在公司就能玩,服务器在家里
    ashin
        122
    ashin  
       2023-02-28 12:15:43 +08:00
    我以前用腾讯云最低配的 cvm 的时候有这种内存焦虑,上面内存吃的最多的是 mysql ,(最初是用 docker 安装,后来 docker 卸载了,直接裸装,可以省点磁盘和内存)为了省钱我搞了很多渣男式的内存优化,用完就扔,要用才找你,举两个例子:

    一个是我的一个 Go 服务,会定时请求外部网站获取很多数据进行更新,获取数据期间以及处理完后结构是保存在一个全局变量里面的,在机器负载高的时候这期间就会导致 oom ,于是我的优化方案是直接把这个数据获取和处理通过 github action 搞到外面去,每次通过 github action 起一个容量来完成这个数据获取写成文件,然后在 scp 到服务器上,服务器定期加载这个文件来更新那个全局变量。

    还有一个例子,比如我的服务要加载一个分词的词库,正常我是服务启动的时候加载的,可以提高使用时的速度,但是这个只有在某个后台操作的时候才会用到这个词库,每次一操作且操作的频率稍微快一点也会 oom ,于是我把这个词库只在用到的时候才加载,平时省了几百 M ,用的时候给那个解析词库的第三方代码加了一个内存释放的方法,我用完就调一下,然后使用时控制下自己的操作频率,让他释放完缓过劲再继续相同操作。
    ashin
        123
    ashin  
       2023-02-28 12:18:56 +08:00
    最后不想折腾了,换成了 8G 内存,彻底优化-。-
    lslqtz
        124
    lslqtz  
       2023-02-28 12:23:35 +08:00
    我自己的服务每秒 30-100 个请求, 1C2G 的机器都能扛... 全数据库操作.
    lslqtz
        125
    lslqtz  
       2023-02-28 12:24:30 +08:00
    另外内存小不等于性能就好, SQLite 在高并发下相比 MySQL 会占用非常多的 CPU.
    Kaiyuan
        126
    Kaiyuan  
       2023-02-28 13:13:04 +08:00 via iPhone
    1 核 256 我也跑 Wordpress ,没问题的。
    yuedun
        127
    yuedun  
       2023-02-28 14:05:27 +08:00
    ┌─────┬─────────────────┬───────────┬──────────┬──────────┬──────────┬──────────┐
    │ id │ name │ status │ cpu │ mem │ user │ watching │
    ├─────┼─────────────────┼───────────┼──────────┼──────────┼──────────┼──────────┤
    │ 0 │ blog │ online │ 0% │ 71.6mb │ yuedun │ disabled │
    │ 2 │ ginode-mongo │ online │ 0% │ 14.2mb │ yuedun │ disabled │
    │ 1 │ metal │ online │ 0% │ 23.1mb │ yuedun │ disabled │
    └─────┴─────────────────┴───────────┴──────────┴──────────┴──────────┴──────────┘

    go 服务 14.2M ,node 服务 71.6M
    flyingfishzxf
        128
    flyingfishzxf  
       2023-02-28 14:38:26 +08:00
    vitepress 挺香的,装个 nginx 就够了,配合 git ,本地写,写完打包 push ,服务器撸个脚本自动更新,要啥后台管理
    taolinxs
        129
    taolinxs  
       2023-02-28 14:53:29 +08:00
    phpinfo();
    morelearn1990
        130
    morelearn1990  
       2023-02-28 14:56:19 +08:00
    直接搭个 md 静态解析页面嘛,什么 hexo vitepress 都不错,再弄个 git webhook 自动发布,这不比管理页面方便吗。
    sqzdy8
        131
    sqzdy8  
       2023-02-28 14:57:23 +08:00
    个人网站感觉够用。
    wuxin987
        132
    wuxin987  
       2023-02-28 15:05:31 +08:00
    我的个人博客 onelk.cn 服务器也是 2c2g ,前端是 nuxtjs ,后端用的 nodejs+mysql 。
    bugmakerxs
        133
    bugmakerxs  
       2023-02-28 15:47:05 +08:00
    mysql 512m + javaweb 512m 也就 1g 内存,完全够用
    zoharSoul
        134
    zoharSoul  
       2023-02-28 20:45:45 +08:00
    远离 java 即可
    jin7
        135
    jin7  
       2023-03-01 08:30:00 +08:00 via Android
    反代到自己电脑上
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   943 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 77ms · UTC 20:49 · PVG 04:49 · LAX 13:49 · JFK 16:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.