关于用 OS X 做网站服务器

2014-04-22 10:01:27 +08:00
 Livid
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 功能非常多非常强大,所以将来这块还有很多可能性。:-)
17678 次点击
所在节点    macOS
53 条回复
homever
2014-04-22 10:02:41 +08:00
从推上来
wtbhk
2014-04-22 10:08:52 +08:00
@homever 一样从推上来。用OS X做服务器挺新鲜的,是不是孤陋寡闻了。
homever
2014-04-22 10:10:09 +08:00
@wtbhk 想想间接用着废纸篓...
damngood
2014-04-22 10:11:20 +08:00
如果用 OSX 作为服务器的话,不知道进一步用 OBJC 来作为服务端语言怎么样。。
dong3580
2014-04-22 10:16:46 +08:00
说实话,第一次见有人用OS X服务器,好吃惊
mechille
2014-04-22 10:20:28 +08:00
这下不用考虑内存大小的问题了,直接把热数据跑到内存里去吧 :D

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


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

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

@Livid 这样看来 GPU 基本上都是闲置的啊
Livid
2014-04-22 11:19:52 +08:00
@66450146 Python 的话可以用 psutil 来获得大部分需要从 /proc 拿的数据。
yegle
2014-04-22 11:22:55 +08:00
@Livid epoll -> kqueue 之类的。现在想到的缺的是一个实时流量监控,一直没找到合适的OS X工具看这个。
Livid
2014-04-22 11:24:04 +08:00
hewigovens
2014-04-22 12:19:39 +08:00
@yegle
@Livid
10.5之后有libproc的
virushuo
2014-04-22 13:16:12 +08:00
防火墙用pf即可,文档可参考bsd社区的,功能也很强大,但我个人也觉得没有iptables好懂。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/109496

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX