今天在本地新搭建了一个 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,这样第二个项目才能跑起来。
疑问:难道每个项目都必须要监听不同的端口么?如果我配置的是一个集群,是不是集群中的每个节点的不同项目都必须使用不同的节点?