6

我有一个安装 Rails 服务器的 EC2 实例。当我这样做时,服务器也运行良好

rails server

但是在我关闭 ssh 连接后,服务器也停止了。即使在关闭 ssh 连接后,如何保持服务器运行。

4

7 回答 7

10
screen rails s

成功了

之后 CTRL + A + D 我离开了,服务器运行正常

于 2013-05-07T13:33:10.843 回答
10

尝试这个。我们必须将 Rails 服务器作为守护进程启动。

rails s -d &
于 2013-05-07T12:50:54.177 回答
1

作为服务器运行意味着 nginx 或 apache,或者这个开发服务器并不意味着作为服务器用户运行,这需要更多信息https://www.digitalocean.com/community/articles/how-to-install-rails-and- nginx-with-passenger-on-ubuntu 如果想提前使用橡胶https://github.com/rubber/rubber

于 2013-05-07T12:44:57.990 回答
1

我需要我的运行所有东西,而不是在后台运行轨道。安装 Screen,它会创建一个不受 ssh 连接影响的子终端。sudo apt-get install screen打开屏幕screen然后启动 rails rails server &

按“Crtl + A”,然后按“D”退出并键入screen -r以返回屏幕终端。

于 2013-10-07T23:40:39.510 回答
0

我会推荐使用 apache 或其他东西来代替常规的 Rails 服务器,但你可以在最后添加 & 并随时离开

rails server &
于 2013-05-07T12:44:38.143 回答
0

这些步骤对我有用。我的操作系统是描述: Ubuntu 16.04.4 LTS

  • sudo apt-get install screen
  • screen rails s
  • CTRL + A + D 从终端分离现有进程并让它运行
于 2018-08-08T06:40:59.230 回答
0

这是使用 RVM 和 Systemd 的生产证明版本。如果服务器因任何原因被终止,它将保持服务器存活。

[Unit]
Description=Puma Control
After=network.target

[Service]
Type=forking
User=user
WorkingDirectory=/var/www/your_project_name

PIDFile=/var/www/your_project_name/shared/tmp/pids/puma.pid

ExecStart=/home/user/.rvm/bin/rvm default do bundle exec puma -C /var/www/your_project_name/shared/puma.rb --daemon

ExecStop=/home/user/.rvm/bin/rvm default do bundle exec pumactl -S /var/www/your_project_name/shared/tmp/pids/puma.state -F /var/www/your_project_name/shared/puma.rb stop

Restart=always
# RestartSec=10

[Install]
WantedBy=default.target
于 2018-08-08T07:14:04.800 回答