我在开发环境和分离模式下在amazon ec2上运行rails 3.2应用程序。
$ rails s -d
在此命令之后,ec2终端挂起并且没有退出此命令,但服务器启动,因为我可以访问应用程序。我必须关闭终端并且服务器仍然启动。
在此之后我杀死了该应用程序。
$ lsof|grep 3000
$ kill -9 <pid>
现在,如果我尝试重新启动服务器,则会出错。
A server is already running. Check /home/ubuntu/trade_ship/tmp/pids/server.pid.
Exiting
现在即使删除tmp文件夹并重新创建它,服务器也无法启动。任何人都可以帮我解决这两个问题吗?
答案 0 :(得分:0)
即使我遇到过这个问题,也请尝试重新启动系统,然后检查......此解决方案当时对我有用。
答案 1 :(得分:0)
首先,如果您无法使用端口3000,请使用rails s -p <port no>
命令
其次,如果你必须杀死服务器启动的RUBY实例,那么使用
ps aux | grep ruby
username 17731 0.1 1.6 3127008 67996 ?? S 2:00PM 0:01.42 /Users/username/.rvm/rubies/ruby-1.9.2-p180/bin/ruby script/rails s -d
然后杀死
kill -9 17731
这肯定会解决问题