部署 unicorn 部署问题

naitnix · 2013年01月31日 · 最后由 naitnix 回复于 2013年01月31日 · 3041 次阅读

今天在本地新搭建了一个 rails app,同样也想用 nginx + unicorn,因为本地已经有一个项目在用 nginx + unicorn 了,所以,这次也一样用同样的方案。第一个项目,unicorn.rb 中: listen 8080, :tcp_nopush => true,项目成功跑起来了。第二个项目,unicorn.rb 同样也是这么写的,这个时候我启动 unicorn,发现启动不了,查看日志:gems/unicorn-4.4.0/lib/unicorn/socket_helper.rb:147:in `initialize': Address already in use - bind(2) (Errno::EADDRINUSE),无奈,原来是端口被占用了,所以只能将监听端口换成是 8081,为了区别前面的那个 8080,这样第二个项目才能跑起来。

疑问:难道每个项目都必须要监听不同的端口么?如果我配置的是一个集群,是不是集群中的每个节点的不同项目都必须使用不同的节点?

不一定要用 TCP port 的:listen "/tmp/unicorn.application_name.sock"

@yesmeck 谢谢了,原来可以直接制定 sock 文件,如果是集群的话,是不是每个节点 listen 都可以写到当前节点的项目去?

#2 楼 @naitnix :trollface: 没玩过集群。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号