2010-08-01 32 views
13
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 

Sau lệnh này, tôi phải giữ thiết bị đầu cuối mở, thậm chí không thể thoát ra bằng cách sử dụng Cmd + z. Tôi không thể chạy nó như một dịch vụ nền?Chạy máy chủ Webrick ở chế độ nền?

Cảm ơn

Trả lời

36

Các Output đã đem lại cho bạn câu trả lời:

=> Call with -d to detach 
+4

Làm cách nào để dừng máy chủ Rails tách biệt? – user3383458

+2

@ user3383458, bạn có thể giết bằng 'pkill -f rails'. ("-f" không có nghĩa là "force", nhưng "tìm kiếm dòng lệnh ** full ** thay vì chỉ là process name". Vì vậy, chúng sẽ được tắt một cách duyên dáng.) Nếu bạn không muốn berserk và kill tất cả các phiên bản của Rails, bạn có thể tìm tất cả chúng bằng 'ps -ef | grep rails' và giết những cái bạn muốn với 'kill [pid]'. – AlicanC

1

Các viên ngọc lai có thể làm điều này dễ dàng.

gem install mongrel 

Sau đó, bạn sẽ có thể sử dụng

mongrel_rails start -d 

-d cho chế độ daemon.

+0

Vấn đề là, tôi không thể cài đặt hoặc gỡ cài đặt Mongrel, lỗi trong cả hai. – 3zzy

6

Nói chung, bạn có thể sử dụng:

command & 

Và nó sẽ tách khỏi cửa sổ terminal.

Nếu bạn đang sử dụng Linux, các lựa chọn khác là sử dụng screen:

screen 
# start your process 
# press Ctrl+a 
# press Ctrl+d 

Voila! Nó tách ra. Sau đó, bạn có thể gọi số screen -r và quy trình của bạn sẽ trở lại như thể không có gì xảy ra.

+0

Tôi nghĩ lệnh & sẽ chỉ chạy trong nền. Nó sẽ vẫn dừng lại khi bạn đóng terminal. Nhưng đề xuất màn hình của bạn là tốt. – Nick

+0

@Nick Nó không có trên Ubuntu – quantumSoup

+1

'nohup rails server &' sẽ tách và chạy trong nền, ngay cả khi thiết bị đầu cuối đóng hoặc người dùng đăng xuất. – fijiaaron

2

Nếu bạn chạy rails s --help Bạn sẽ thấy một loạt các tùy chọn

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. 

Người mà bạn cần là để chạy nó như là một Daemon. Do đó, giải pháp là: rails s -d

Các vấn đề liên quan