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

关于用 OS X 做网站服务器

  •  1
     
  •   Livid · 2014-04-22 10:01:27 +08:00 · 17660 次点击
    这是一个创建于 3886 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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 想想间接用着废纸篓...
    damngood
        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
       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
       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
       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
       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
       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
       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   ·   实用小工具   ·   911 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 22:40 · PVG 06:40 · LAX 14:40 · JFK 17:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.