0

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

这是第一次部署,任何帮助将不胜感激。

提前致谢。

4

3 回答 3

1

在生产环境中使用 WEBrick 非常少见。有一个Stack Overflow 讨论为什么和很多人告诉你不要在网络上太多。我真的不喜欢“因为每个人都这么说!” 答案,但谷歌会发现你很多很多意见。

但是,如果您的应用程序没有被广泛使用并且您的服务器上有可用资源,您可以在启动服务器时以守护程序模式运行:

rails server -d

但是,一旦开始,停止这种情况的唯一方法是获取 pid 并调用kill该进程:

kill -9 thepidhere (我发现 -9 是必要的,否则它拒绝停止)

如果你想换成另一台服务器,请查看thinUnicornNginx。如需大型、强大、可定制的解决方案,请查看这篇关于 Apache 和 Mongrel 的文章。

于 2012-12-04T07:59:40.750 回答
0

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

gem 'thin'在你的gemfile中。不如 写
吧。 除非你写,否则你的服务器不会停止bundle install
thin startrails s
thin stop

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

于 2012-12-04T06:43:31.833 回答
0

您必须创建一个守护进程,以便即使没有使用命令 rails s 打开本地终端,它也可以运行。尝试类似 rails s -d 的东西。您还可以安装乘客并编写乘客启动 -d 或瘦并编写 rails s -d。

为了更好的部署,如果您使用上述独立方式运行应用程序,则添加一个初始化脚本以自动启动应用程序是一个好主意。

于 2012-12-04T08:04:09.753 回答