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

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

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

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

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

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

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

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