部署 unicorn 部署问题

naitnix · January 31, 2013 · Last by naitnix replied at January 31, 2013 · 3026 hits

今天在本地新搭建了一个 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: 没玩过集群。

You need to Sign in before reply, if you don't have an account, please Sign up first.