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

超小型 vps web 服务器语言和框架怎么选择?

  •  
  •   luodaoyi · 144 天前 · 5063 次点击
    这是一个创建于 144 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前跟风买了一些很弱鸡的小服务器 超售严重的 1 核心 外加 128m 的内存 这种小服务器想做个简单的动态 web 网站 用什么语言和框架比较合适? php 原生撸? java 是不考虑了 这点内存不够启动 jvm 的 或者是 go 之类的?

    69 条回复    2022-03-20 18:54:23 +08:00
    kidonng
        1
    kidonng  
       144 天前 via Android
    能不动态尽量别动态吧...JVM 和 Go 肯定别了,可以考虑 Lua 或者 JS
    数据库 sqlite ,也上不了更多东西了
    kkocdko
        2
    kkocdko  
       144 天前   ❤️ 1
    看你会什么咯,看你提到了 php ,那就用 php 好了。
    内存占用大致排序:Java>NodeJS>Golang/PHP>Rust/C/C++
    panzhc
        3
    panzhc  
       144 天前   ❤️ 2
    Openresty 用 Lua 连接 Sqlite ,有 Web 开发框架。
    westoy
        4
    westoy  
       144 天前
    拿来 FQ 或者反代吧, 除非完全不在乎数据啊, 不然超卖不止卖内存和 CPU 的, 还能超卖硬盘的, 别硬盘光了直接写入出错数据炸掉.....
    Tink
        5
    Tink  
       144 天前 via Android
    nginx 反代,源站再买一台
    geekvcn
        6
    geekvcn  
       144 天前   ❤️ 9
    直接扔了吧,免费主机都比这配置强。或者搭建备用梯子
    Kasumi20
        7
    Kasumi20  
       144 天前
    上 Rust
    pengtdyd
        8
    pengtdyd  
       144 天前
    我说 C 应该没人反对吧
    cybird
        9
    cybird  
       144 天前
    这点内存。。直接上 CPP 或者 Rust 吧,别想着 java 、NodeJS 之类的了
    learningman
        10
    learningman  
       144 天前   ❤️ 2
    64m 都有人能 nginx+mysql+php-cgi ,相信自己(
    wonderfulcxm
        11
    wonderfulcxm  
       144 天前 via iPhone
    我以前搬瓦工就这种配置,放了个 Wordpress ,PHP 可以,mysql 不太行,调到最低配置运行一段时间都会 oom ,为此还专门写了个监控脚本重启 mysql
    shiny
        12
    shiny  
       144 天前
    并发不高的话也不是不能用,做下 swap ,调低空闲时的进程数。访问量大的时候就卡一点。
    misaka19000
        13
    misaka19000  
       144 天前
    python 啊,Flask 加 sqlite
    kran
        14
    kran  
       144 天前 via Android
    可以 uwsgi+lua
    debuggerx
        15
    debuggerx  
       144 天前 via Android
    dart+pg 可以
    wccc
        16
    wccc  
       144 天前 via iPhone
    rust sqlite
    yeqizhang
        17
    yeqizhang  
       144 天前 via Android
    go 可以的,数据库 sqlite 。
    实在不行就装个 frps 反代你家的服务呗
    IvanLi127
        18
    IvanLi127  
       144 天前 via Android
    除了做反向代理,就只能做内网穿透了。。。建议家里架服务 ,用这 vps 反向代理
    ByteCat
        19
    ByteCat  
       144 天前   ❤️ 1
    可是现在已经 2202 年了(
    十年前我这么玩过
    knightdf
        20
    knightdf  
       144 天前
    nginx+lua
    JustSong
        21
    JustSong  
       144 天前 via Android
    Go + SQLite
    BrettD
        22
    BrettD  
       144 天前 via iPhone
    Go 就算了,在 AWS T4g nano 用 Caddie 服务一个静态网站居然占了几百兆内存然后被 OOM kill 了,换成 nginx 之后内存占用才只有 7MB 。
    tozp
        23
    tozp  
       144 天前
    这点内存还是别整动态网站了,用 Hugo 生成个静态的吧,够用了。
    woorz
        24
    woorz  
       144 天前
    良心云这么良心,不支持一下?
    Dart
        25
    Dart  
       144 天前
    好奇买这么小的干嘛?还超瘦。
    luodaoyi
        26
    luodaoyi  
    OP
       144 天前
    @ByteCat 好玩啊

    @woorz 我买的 ruvds 的俄罗斯小机器

    @Dart 买来玩啊。
    luodaoyi
        27
    luodaoyi  
    OP
       144 天前
    @knightdf lua 写起来太蛋疼了 感觉很弱鸡
    smallgoogle
        28
    smallgoogle  
       144 天前
    无脑 php ?
    janxin
        29
    janxin  
       143 天前
    反正静态内容无脑 Nginx ;

    需要动态内容,PHP 可以; Go 量小也行,但是访问多了容易 OOM ; Java 就不用说了,肯定 OOM ; Node 也肯定 OOM 。
    defunct9
        30
    defunct9  
       143 天前   ❤️ 1
    我的小 vps ,跑了 journey(go 写的兼容 node ghost 的博客),quagga(bgp peer ),trojan-go (你懂得),很好用
    bthulu
        31
    bthulu  
       143 天前
    上 C 语言或者汇编
    0o0O0o0O0o
        32
    0o0O0o0O0o  
       143 天前 via iPhone
    这种我可能只考虑写一些 iptables 规则…
    ersic
        33
    ersic  
       143 天前   ❤️ 1
    语言都差不多,关键是数据库,本机的话估计只能 sqlite 了
    knightdf
        34
    knightdf  
       143 天前
    @luodaoyi 弱鸡倒不弱鸡,就是轮子很少
    momocraft
        35
    momocraft  
       143 天前
    有的路由器都比这内存多
    zyq2280539
        36
    zyq2280539  
       143 天前
    PHP
    ihciah
        37
    ihciah  
       143 天前   ❤️ 1
    都用这种机器了肯定不在意性能,那 swap 记得拉满。
    OoGKoO
        38
    OoGKoO  
       143 天前
    Nginx+Gunicorn+Python Flask
    sadfQED2
        39
    sadfQED2  
       143 天前 via Android
    @bthulu 汇编写网站可还行
    hwdef
        40
    hwdef  
       143 天前   ❤️ 2
    nginx 也大,,,上 lighttpd
    flyz
        41
    flyz  
       143 天前
    你可能需要 debian8+caddy1+php5.6+sqlite
    我除了跑几个 typecho ,还有内存安装个 x-ui 。
    flyz
        42
    flyz  
       143 天前
    flyz
        43
    flyz  
       143 天前   ❤️ 1
    我买了个 gullo 的 128m 内存小鸡,按照上面的教程,搭建了环境还挺好用,
    内存占用也不高,caddy1 默认支持 ipv6 ,而且功能还很多,比 lighttpd 用起来简单多了。
    [![qC84II.png]( https://s1.ax1x.com/2022/03/17/qC84II.png)]( https://imgtu.com/i/qC84II)
    nbweb
        44
    nbweb  
       143 天前
    128M 内存跑过:debian+php+mysql+nginx ,完全没啥问题,挂个小流量博客也不是不行。
    HiCode
        45
    HiCode  
       143 天前
    https://redbean.dev/

    试一下,lua+sqlite ,最近看到某个 lua 大咖基于这个写了一个 web 框架( https://github.com/pkulchenko/fullmoon ),才发现有这么超级小的项目。
    Xusually
        46
    Xusually  
       143 天前
    OpenResty / Nginx+Lua
    C/CPP + CGI
    PHP 搞个低配的脚手架或者原生开撸
    zyy314680012
        47
    zyy314680012  
       143 天前 via Android
    脚本语言问题都不大吧
    xxfye
        48
    xxfye  
       143 天前   ❤️ 1
    go 的内存占用不大吧,如果只是个人网站,就 go 好了。
    如果对外公开 API ,Rust
    mmdsun
        49
    mmdsun  
       143 天前
    go 或者 c# 这两占用都很低。CloudNative 持很好。
    squirrelBdg
        50
    squirrelBdg  
       143 天前
    内网穿透 自己开隧道
    AstroProfundis
        51
    AstroProfundis  
       143 天前
    完全可以跑得起 wordpress, 把 mysql 和 php 的配置压一下,不要承受太高并发没什么问题
    momooc
        52
    momooc  
       143 天前 via Android
    别动态了,静态还能用一下。
    natforum
        53
    natforum  
       143 天前
    一个基于 OpenResty 的 lua 的 web 框架
    https://github.com/sumory/lor
    chavyleung
        54
    chavyleung  
       143 天前
    我跑个题,申请 oracle 永久免费的 4c16g 不香吗,为什么要为为难自己。
    docx
        55
    docx  
       143 天前 via Android
    办法肯定有,但请不要折磨自己
    Kaiyuan
        56
    Kaiyuan  
       143 天前
    我在跑 Wordpress ,PHP 闲置 5 线程以下。
    BrettD
        57
    BrettD  
       143 天前 via iPhone
    @chavyleung oracle 那个“免费主机”坑爹的,运气不好的话毫无征兆就被删机丢数据了
    findex
        58
    findex  
       143 天前   ❤️ 1
    lighttpd + cpp/php 简单自己用一下是没啥问题的
    Java, Python, Go 这类的就不要想了。
    建议适当调整 swap 分区,设置 swappiness 为 75%💁🏼
    128MB 内存和我买的几十块的路由器一样内存😂
    findex
        59
    findex  
       143 天前
    @BrettD oracle 删库但不跑路,毕竟免费,oracle 自己说了算。
    patx
        60
    patx  
       143 天前
    python+aiohttp
    Zhouisme
        61
    Zhouisme  
       143 天前 via Android
    这机器我曾买过,搭建过 blog 。php SQLite Nginx typecho

    用 Go/C++就很棒,简单的动态直接不用框架了。把 html 打包进二进制里运行就好了。一定要加 swap 。用 golang 连 Nginx caddy 都不用,比较香吧,关键写的快呀。
    xsen
        62
    xsen  
       143 天前
    nginx + go ( db 用 sqlite )没问题
    java/node 之类就别考虑了
    patrickyoung
        63
    patrickyoung  
       143 天前 via iPhone
    64M 跑 LNMP 和 wordpress 都可以
    hallDrawnel
        64
    hallDrawnel  
       143 天前   ❤️ 1
    Go 可以,因为我在路由器里跑 Go 写的 dnscrpty proxy 都没有问题
    stevefan1999
        65
    stevefan1999  
       143 天前   ❤️ 1
    肯定是跑 Rust

    話説你不如換個服務器啦 kora
    duke807
        66
    duke807  
       143 天前
    極小且省事的方式是:
    使用 busybox httpd 做 web 服務器(需要 https 的話可以搭配使用 stunnel )
    使用 shell 腳本做 cgi (需要上傳大文件的話可以用 qdecoder/examples/upload.c 做 cgi )

    稍微寬裕一點 shell 腳本升級爲 python 腳本,busybox httpd 也可升級爲 apache
    nicevar
        67
    nicevar  
       143 天前
    Go 不行的,随便跑点东西就挂了,10 多年前很多 vps 都是这种配置,那个年代做垃圾站,很多用 php+access ,还是可以的,跑 MySQL 太吃力,虽然能跑,但是容易挂。
    luodaoyi
        68
    luodaoyi  
    OP
       140 天前
    @HiCode 这个不错 哈哈我喜欢
    luodaoyi
        69
    luodaoyi  
    OP
       140 天前
    @chavyleung 折腾一下 无聊的 java 工作中增添一些乐趣
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1042 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 153ms · UTC 20:10 · PVG 04:10 · LAX 13:10 · JFK 16:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.