关于用 OS X 做网站服务器 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Livid
57.81D
473.72D
V2EX    macOS

关于用 OS X 做网站服务器

  •  1
     
  •   Livid
    PRO
    2014-04-22 10:01:27 +08:00 18247 次点击
    这是一个创建于 4196 天前的主题,其中的信息可能已经有所发展或是发生改变。
    V2EX 的服务器已经迁移到 OS X 上差不多一个季度了,所以也算是积累了一点点关于用 OS X 做网站服务器的经验。在此分享给大家吧。

    1. Mavericks 的 can't assign requested address 问题

    这是一个出现在 Mavericks 上的新 bug。症状就是机器运行一段时间之后,就无法打开任何新的网络链接。即使用 curl 去访问 localhost 上的东西,也会得到这样的一个错误:

    Can't assign requested address

    目前这个问题在 Apple 官方的 support 论坛已经有 9 页的讨论:

    https://discussions.apple.com/thread/5551686?tstart=0

    可惜,至少在 10.9.2 正式版和 10.9.3 的第一个 beta 版里也没有修复。

    在这个 bug 修复之前,Mavericks 10.9.1/10.9.2 其实非常不适合服务任何的 long running 的网络应用。目前 V2EX 在经历了 20140421 的 outage 之后运行的是最新的 10.9.3 测试版。

    2. 目前没有任何 Mac 机型有 LOM(IPMI)功能。貌似曾经的 Xserve 上是有的。但是这一代的 Mac Pro 和 Mac mini server 上都没有。希望将来能够有一个带 LOM 的 Mac Pro 型号。

    3. 迁移到 OS X 上之后,我最怀念的是 Ubuntu 上的 ufw 防火墙工具。OS X 的防火墙架构在这几年其实一直有在改变,但是因为用的人太少(相对 Linux 而言),文档和工具都还是太少。当然,也或许只是因为我了解得还不够多。

    4. 至于其他方面,就和 Linux 没有特别大的区别了。倒是多了很多 Linux 上没有的工具,比如 sips,一个可以用于调整图片的命令行工具,基于 Core Image 的,有 GPU 加速,所以性能比 Image Magick 好一个数量级。目前 V2EX.com/i 的图片功能就是基于它完成的。而其实 Core Image 功能非常多非常强大,所以将来这块还有很多可能性。:-)
    53 条回复    2020-12-12 16:06:53 +08:00
    homever
        1
    homever  
       2014-04-22 10:02:41 +08:00
    从推上来
    wtbhk
        2
    wtbhk  
       2014-04-22 10:08:52 +08:00
    @homever 一样从推上来。用OS X做服务器挺新鲜的,是不是孤陋寡闻了。
    homever
        3
    homever  
       2014-04-22 10:10:09 +08:00
    @wtbhk 想想间接用着废纸篓...
        4
    damngood  
       2014-04-22 10:11:20 +08:00
    如果用 OSX 作为服务器的话,不知道进一步用 OBJC 来作为服务端语言怎么样。。
    dong3580
        5
    dong3580  
       2014-04-22 10:16:46 +08:00
    说实话,第一次见有人用OS X服务器,好吃惊
    mechille
        6
    mechille  
       2014-04-22 10:20:28 +08:00
    这下不用考虑内存大小的问题了,直接把热数据跑到内存里去吧 :D

    话说@Livid 为什么不考虑在马桶上划出一部分linux跑呢?
    pyKun
        7
    pyKun  
       2014-04-22 10:25:26 +08:00
    os x 的server也是噪音很小的么?


    @mechille 这样不如买x86服务器了,用mac就要用mac自己的特点做服务
    fatpa
        8
    fatpa  
       2014-04-22 10:35:43 +08:00
    听上去好像很厉害的样纸
    Livid
        9
    Livid  
    MOD
    OP
    PRO
       2014-04-22 10:35:53 +08:00   1
    @pyKun Mac Pro 的噪音和 Mac mini 差不多,比 PS4 安静。
    yylzcom
        10
    yylzcom  
       2014-04-22 10:41:31 +08:00
    我太孤陋寡闻了,第一次看到有人能用os X做server的

    而且万万没想到的是,v2ex后端服务器竟然是一个这么小的机器。不过话说回来,v2ex在cdn上的硬件成本是后端服务器的10倍+吧
    yegle
        11
    yegle  
       2014-04-22 10:58:26 +08:00
    Performance怎样?我总担心有些linux-only的特性在OS X上支持会有问题…
    yegle
        12
    yegle  
       2014-04-22 10:59:13 +08:00
    @yylzcom 搜一下Mac Mini Colocation会发现很多公司都提供Mac Mini的托管服务
    zxy
        13
    zxy  
       2014-04-22 11:03:36 +08:00
    从twitter过来看看。。
    Livid
        14
    Livid  
    MOD
    OP
    PRO
       2014-04-22 11:14:29 +08:00
    @yegle Linux only 的特性比如?
    66450146
        15
    66450146  
       2014-04-22 11:16:41 +08:00
    @yegle 除了没有 /proc 之外其他问题都没遇到过

    @Livid 这样看来 GPU 基本上都是闲置的啊
    Livid
        16
    Livid  
    MOD
    OP
    PRO
       2014-04-22 11:19:52 +08:00
    @66450146 Python 的话可以用 psutil 来获得大部分需要从 /proc 拿的数据。
    yegle
        17
    yegle  
       2014-04-22 11:22:55 +08:00
    @Livid epoll -> kqueue 之类的。现在想到的缺的是一个实时流量监控,一直没找到合适的OS X工具看这个。
    Livid
        18
    Livid  
    MOD
    OP
    PRO
       2014-04-22 11:24:04 +08:00
    hewigovens
        19
    hewigovens  
       2014-04-22 12:19:39 +08:00 via Android
    @yegle
    @Livid
    10.5之后有libproc的
    virushuo
        20
    virushuo  
       2014-04-22 13:16:12 +08:00 via iPhone
    防火墙用pf即可,文档可参考bsd社区的,功能也很强大,但我个人也觉得没有iptables好懂。
    pindleskin
        21
    pindleskin  
       2014-04-22 13:31:54 +08:00 via iPhone
    一直没搞懂mac上怎样改open file的上限
    Livid
        22
    Livid  
    MOD
    OP
    PRO
       2014-04-22 13:34:42 +08:00
    @pindleskin 如果服务是通过 launchd 的 plist 启动的话,可以把 ulimit 写在 plist 里。
    lyhiving
        23
    lyhiving  
       2014-04-22 13:38:23 +08:00
    从推上来,一直在用mac,但是对于用mac来做服务器一直不放心。性能应该比不上CentOS之流吧
    chilaoqi
        24
    chilaoqi  
       2014-04-22 14:30:59 +08:00   1
    所以说,如果AWS做 OS X 的IaaS是可行的了?会比Linux更受欢迎么?
    yanke
        25
    yanke  
       2014-04-22 14:37:48 +08:00
    用 ObjC 重写服务器吧。
    edison0951
        26
    edison0951  
       2014-04-22 14:38:07 +08:00
    这么,我一直在想能不能用OC来开发WEB
    0day
        27
    0day  
       2014-04-22 14:52:51 +08:00
    @edison0951 可以参见 Objective-J
    likuku
        28
    likuku  
       2014-04-22 15:11:25 +08:00
    @yegle freebsd 从 osx 引入了 kqueue ,所以改换 freebsd 也是个办法...
    lsylsy2
        29
    lsylsy2  
       2014-04-22 16:39:20 +08:00
    @chilaoqi OSX能开虚拟机么?
    georgetso
        30
    georgetso  
       2014-04-22 16:43:28 +08:00
    @edison0951 当然可以,过去webobjects同时支持objc和java
    jaylong
        31
    jaylong  
       2014-04-22 16:46:17 +08:00
    用的什么服务器软件呢?MAMP吗?
    pindleskin
        32
    pindleskin  
       2014-04-22 23:28:33 +08:00 via iPhone
    @Livid thanks, 以前在mac上做web应用的压力测试,按照网上说的运行ulimit,也改了sysctl,好像还是一会儿把fd都用完了。
    bf68
        33
    bf68  
       2014-04-23 00:41:35 +08:00
    的确是人才,用mac做服务器
    mengzhuo"
        34
    mengzhuo  
       2014-04-23 09:04:06 +08:00
    @pyKun 我司一机架的Mac mini/pro build machine 都不吵
    xieweizhi007
        35
    xieweizhi007  
       2014-04-23 09:26:03 +08:00
    这是我最接近Mac Pro的一次
    pyKun
        36
    pyKun  
       2014-04-23 09:32:18 +08:00
    @mengzhuo
    很爽的服务器:)
    jdqingm
        37
    jdqingm  
       2014-04-23 11:38:49 +08:00
    从推上来,可否问下尝试OS X 的原因?
    JoyNeop
        38
    JoyNeop  
       2014-04-23 14:32:01 +08:00
    用虚拟机安装 Nginx 反向代理到物理机,可行吗?
    JoyNeop
        39
    JoyNeop  
       2014-04-23 14:32:26 +08:00
    以及搭配虚拟机内的 iptables 和 ufw
    JoyNeop
        40
    JoyNeop  
       2014-04-23 14:42:47 +08:00
    @jdqingm "Because I can"
    imrei
        41
    imrei  
       2014-04-23 20:39:56 +08:00
    @Livid 我之前也用mac mini做了服务器,架设wordpress,但家里被电信禁止放站点了。你mac mini是放哪里托管的还是?
    Yousri
        42
    Yousri  
       2014-04-23 20:56:27 +08:00
    高大上!
    Linxing
        43
    Linxing  
       2014-04-23 22:45:44 +08:00
    @imrei 图片上看是放在家里的吧
    imrei
        44
    imrei  
       2014-04-24 00:31:36 +08:00
    @Linxing 现在还可以放家里做站的?
    Livid
        45
    Livid  
    MOD
    OP
    PRO
       2014-04-24 01:39:44 +08:00 via iPhone
    @imrei 我在美国。
    imrei
        46
    imrei  
       2014-04-24 03:53:19 +08:00
    @Livid 好吧。。。正好想问一下,v2ex我上次看到介绍是在云服务器上,具体是哪家的云呢?v2ex给我很大的启发。我也想建立在云上了。

    另外,我之前10.9.1和10.9.2都没有遇到“can't assign requested address ”的问题,都是用默认os x 自带的,除了mysql,是不是和brew这类第三方的程序有关?
    bearzx
        47
    bearzx  
       2014-04-24 09:31:17 +08:00
    ,我也是头一次看到用OSX做服务器的。。。所以是用的单台Mac Pro ?
    allenhsu
        48
    allenhsu  
       2014-04-24 10:49:04 +08:00
    单台垃圾桶和多台 Mini 比的话,性价比哪个更高呢?
    imrei
        49
    imrei  
       2014-04-24 11:31:06 +08:00
    @allenhsu 个人用mac mini 387 最抵配做。垃圾桶有点累赘,毕竟做网站的话cpu和内存是足够了,但显卡多余了。如果又要当主力机又要做服务器又有点担心网速影响
    lm902
        50
    lm902  
       2014-04-25 00:46:07 +08:00
    ufw根本没必要,用金盾工程之gfw,人挡杀人,佛挡杀佛;保护国家信息技术安全、保护个人信息安全、保护公民人身安全、保护国家人民幸福,有了这么伟大的东西还要ufw干嘛
    fire5
        51
    fire5  
       2014-05-12 14:44:27 +08:00
    怎么托管?
    Atu
        52
    Atu  
       2014-08-21 10:21:45 +08:00
    我的小窝就是放在家里 MACMINI 上,就是速度太慢了,80端又给封了,只好跳呀转呀

    http://atu.cn
    Cat73
        53
    Cat73  
       2020-12-12 16:06:53 +08:00 via Android
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1268 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 17:21 PVG 01:21 LAX 10:21 JFK 13:21
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86