Rails应用程序部署:Web服务器关闭。

时间:2012-12-04 05:37:19

标签: ruby-on-rails ruby webrick

我在服务器上设置了代码和数据库。我运行命令rails s,但是一旦我的本地系统关闭,服务器就会关闭。有没有办法让Web服务器在服务器上运行。 Capistrano可能没有必要,因为我在服务器上有代码。 Webrick是我目前使用的网络用户。

这是第一次部署,我们非常感谢任何帮助。

提前致谢。

3 个答案:

答案 0 :(得分:1)

在生产中使用WEBrick非常罕见。有一个Stack Overflow discussion of why,很多人告诉你的不是网络上的全部内容。我真的不喜欢“因为每个人都这么说!”答案,但谷歌会发现你很多很多意见。

但是,如果您的应用程序使用不是很广泛而且您的服务器上有足够的资源,则可以在启动服务器时以守护程序模式运行:

rails server -d

但是,一旦启动就停止此操作的唯一方法是获取pid并在流程上调用kill

kill -9 thepidhere (我发现-9是必要的或拒绝停止)

如果您想要更改为其他服务器,请查看thinUnicornNginx。要获得一个强大,可定制的大型解决方案,请查看有关Apache和Mongrel的this post

答案 1 :(得分:0)

尝试在 thin 服务器上运行您的应用程序。

在你的gemfile中写gem 'thin'bundle install
thin start 而不是rails s 除非您编写 thin stop

,否则您的服务器将不会停止直至停止

我认为上述内容对您有用。

答案 2 :(得分:0)

您必须创建一个守护程序进程,以便即使没有使用命令rails s打开本地终端也可以运行它。尝试像rails s -d这样的东西。您也可以安装乘客并写下乘客开始-d或精简并写入rails s -d。

为了更好地部署,最好添加一个初始化脚本,以便在使用上述独立方式运行应用程序时自动启动它。