Ruby on rails 服务器初始化错误。。。必须使用;ps aux“grep轨道”;每次
每当我使用Ruby on rails 服务器初始化错误。。。必须使用;ps aux“grep轨道”;每次,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,每当我使用 rails s 我得到这个信息: => Rails 3.1.0 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server [2012-08-12 19:57:32] INFO WEBrick 1.3.1 [2012-08-12 19:57:32] INFO ruby 1.9.3 (2012-0
rails s
我得到这个信息:
=> Rails 3.1.0 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-08-12 19:57:32] INFO WEBrick 1.3.1
[2012-08-12 19:57:32] INFO ruby 1.9.3 (2012-04-20) [i686-linux]
[2012-08-12 19:57:32] WARN TCPServer Error: Address already in use - bind(2)
Exiting
/home/abhishek/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/utils.rb:85:in `initialize': Address already in use - bind(2) (Errno::EADDRINUSE)
from /home/abhishek/.rvm/rubies/ruby-1.9.3- p194/lib/ruby/1.9.1/webrick/utils.rb:85:in `new'
from /home/abhishek/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/utils.rb:85:in `block in create_listeners'
from /home/abhishek/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/utils.rb:82:in `each'
from /home/abhishek/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/utils.rb:82:in `create_listeners'
from /home/abhishek/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/server.rb:82:in `listen'
from /home/abhishek/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/server.rb:70:in `initialize'
from /home/abhishek/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:45:in `initialize'
from /home/abhishek/.rvm/gems/ruby-1.9.3-p194/gems/rack- 1.3.6/lib/rack/handler/webrick.rb:10:in `new'
from /home/abhishek/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.3.6/lib/rack/handler/webrick.rb:10:in `run'
from /home/abhishek/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.3.6/lib/rack/server.rb:265:in `start'
from /home/abhishek/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.1.0/lib/rails/commands/server.rb:70:in `start'
from /home/abhishek/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.1.0/lib/rails/commands.rb:54:in `block in <top (required)>'
from /home/abhishek/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.1.0/lib/rails/commands.rb:49:in `tap'
from /home/abhishek/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.1.0/lib/rails/commands.rb:49:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
及
每次
尽管。。命令
rails s -p 4000
工作
我只是好奇是否有任何方法可以让我每次都使用相同的端口。。。因此,我不必每次启动服务器时都使用不同的端口,因为这使我必须一次又一次地重新输入特定的控制器和操作名称 当您运行“rails s”时,默认情况下,它将始终在端口3000上启动服务器。因此,如果您已经有一台服务器在运行,那么它可能在端口3000上运行。您可以通过传递'-p'选项指定不同的端口来启动第二台(第三台、第四台等)服务器
rails s -p 4000
每当您关闭终端时,我建议您首先使用
ctrl+c
关闭服务器,然后关闭终端
这将释放服务器正在使用的端口
现在,当您再次启动服务器时,您可以使用相同的端口,而不需要使用新端口
如果有时未正确释放,请关闭服务器并使用它
使用killall-9rails杀死服务器
这样,您应该能够在每次启动服务器时使用rails s
@Andrei的回答是有用且正确的,但我觉得当您需要同时启动多台服务器时,应该使用它,您希望在另一个端口上显式运行服务器。您可以killall-9rails
,但这里的主要问题是rails显然已经在运行,而您并不知道它-它是在系统启动时启动的吗?如果是,为什么要重新启动它?在这种情况下,/etc/init.d/rails restart
不是一个选项(init.d中的脚本的确切名称可能不同,请检查init.d)如何关闭服务器,退出时有错误消息吗?@fvu当我运行killall-9 rails
时,它给出了这个输出rails:no process found
@PriteshJ当我完成时,我只关闭终端。。我没有收到任何错误消息。。。对不起,如果我误解了你的问题。。。我是rails的新手,你理解得对。这种情况经常发生吗?这很有效,我尝试了不同的端口号,所有端口号都有效。。谢谢你…谢谢你的回答。。。这正是我需要的。。。我一直以来犯的错误是,我没有使用Ctrl c
,而是使用Ctrl z
,我开始使用Ctrl z
,只是因为一个愚蠢的原因,z比c更接近Ctrl键。。然后我想我忘了我本可以使用Ctrl c
而只是开始使用“z”来代替。。。谢谢..ctrl+z会停止进程,就像暂停状态一样,这导致了问题,很高兴它有所帮助。
rails s
rails s -p 4000
rails s -p 4000