• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xianxiaobo
V2EX  ›  程序员

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

  •  
  •   xianxiaobo · Feb 27, 2023 · 20256 views
    This topic created in 1346 days ago, the information mentioned may be changed or developed.

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

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

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

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

    还有一个例子,比如我的服务要加载一个分词的词库,正常我是服务启动的时候加载的,可以提高使用时的速度,但是这个只有在某个后台操作的时候才会用到这个词库,每次一操作且操作的频率稍微快一点也会 oom ,于是我把这个词库只在用到的时候才加载,平时省了几百 M ,用的时候给那个解析词库的第三方代码加了一个内存释放的方法,我用完就调一下,然后使用时控制下自己的操作频率,让他释放完缓过劲再继续相同操作。
    ashin
    ashin
    Feb 28, 2023
    123
    最后不想折腾了,换成了 8G 内存,彻底优化-。-
    lslqtz
    lslqtz
    Feb 28, 2023
    124
    我自己的服务每秒 30-100 个请求, 1C2G 的机器都能扛... 全数据库操作.
    lslqtz
    lslqtz
    Feb 28, 2023
    125
    另外内存小不等于性能就好, SQLite 在高并发下相比 MySQL 会占用非常多的 CPU.
    Kaiyuan
    Kaiyuan
    Feb 28, 2023 via iPhone
    126
    1 核 256 我也跑 Wordpress ,没问题的。
    yuedun
    yuedun
    Feb 28, 2023
    127
    ┌─────┬─────────────────┬───────────┬──────────┬──────────┬──────────┬──────────┐
    │ 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
    flyingfishzxf
    Feb 28, 2023
    128
    vitepress 挺香的,装个 nginx 就够了,配合 git ,本地写,写完打包 push ,服务器撸个脚本自动更新,要啥后台管理
    taolinxs
    taolinxs
    Feb 28, 2023
    129
    phpinfo();
    morelearn1990
    morelearn1990
    Feb 28, 2023
    130
    直接搭个 md 静态解析页面嘛,什么 hexo vitepress 都不错,再弄个 git webhook 自动发布,这不比管理页面方便吗。
    sqzdy8
    sqzdy8
    Feb 28, 2023
    131
    个人网站感觉够用。
    wuxin987
    wuxin987
    Feb 28, 2023
    132
    我的个人博客 onelk.cn 服务器也是 2c2g ,前端是 nuxtjs ,后端用的 nodejs+mysql 。
    bugmakerxs
    bugmakerxs
    Feb 28, 2023
    133
    mysql 512m + javaweb 512m 也就 1g 内存,完全够用
    zoharSoul
    zoharSoul
    Feb 28, 2023
    134
    远离 java 即可
    jin7
    jin7
    Mar 1, 2023 via Android
    135
    反代到自己电脑上
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1330 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 162ms · UTC 21:00 · PVG 05:00 · LAX 13:00 · JFK 16:00
    ♥ Do have faith in what you're doing.