在后台运行Webrick服务器?
MBPro:shovell myname$ ruby script/server => Booting WEBrick => Rails 2.3.8 application starting on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server [2010-08-01 15:28:35] INFO WEBrick 1.3.1 [2010-08-01 15:28:35] INFO ruby 1.9.1 (2010-07-02) [i386-darwin10.4.0] [2010-08-01 15:28:35] INFO WEBrick::HTTPServer#start: pid=36349 port=3000
在这个命令之后,我必须保持终端打开,甚至不能使用Cmd + z。 我不能把它作为后台服务运行吗?
谢谢
输出已经给你答案:
=> Call with -d to detach
一般来说,你可以使用:
command &
它将从终端窗口分离。
如果您使用的是Linux,则另一个选项是使用screen
:
screen # start your process # press Ctrl+a # press Ctrl+d
瞧! 它是超然的。 然后你可以调用screen -r
,你的进程就会回来,好像什么都没发生一样。
如果你运行rails s --help
你会看到一堆选项
Usage: rails server [mongrel, thin etc] [options] -p, --port=port Runs Rails on the specified port. Default: 3000 -b, --binding=IP Binds Rails to the specified IP. Default: localhost -c, --config=file Uses a custom rackup configuration. -d, --daemon Runs server as a Daemon. -u, --debugger Enables the debugger. -e, --environment=name Specifies the environment to run this server under (test/development/production). Default: development -P, --pid=pid Specifies the PID file. Default: tmp/pids/server.pid -h, --help Shows this help message.
您需要的是将其作为守护进程运行。 因此,解决方案是: rails s -d
杂种gem可以很容易地做到这一点。
gem install mongrel
然后你应该可以使用
mongrel_rails start -d
-d
用于守护进程模式。