我们的应用程序在不同端口上运行两个Rails服务器,彼此通话.使用Rails 3.2.8,我可以打开一个终端,cd到项目,运行rails s -p3000,打开另一个终端,运行rails s -p3001,一切正常.宝石文件包含较薄,所以会自动启动,但使用rails可以在需要时使用–debugger.
由于更新了Rails 3.2.11,这不再适用.我收到一个错误:“服务器已经在运行.检查/home/george/Projects/dashboard/tmp/pids/server.pid”.我可以直接在两个端口上启动thin,但是没有调试支持.在另一个上启动薄,另一方面的rails似乎不起作用,但是当错误停止服务器时,所有服务器任务都被杀死并不清楚.
解决方法
两个命令都是检查默认的PID文件位置(tmp / pids / server.pid),所以你看到这个错误.尝试运行多个服务器,如下所示:
服务器1:bundle exec rails s
服务器2:bundle exec rails s -p 3001 -P tmp / pids / server2.pid