我在服务器上设置了代码和数据库。我运行命令 rails s,但是一旦我的本地系统关闭,服务器就会关闭。有没有办法让网络服务器在服务器上运行。Capistrano 可能不是必需的,因为我在服务器本身上有代码。Webrick 是当前使用的 webser。
这是第一次部署,任何帮助将不胜感激。
提前致谢。
我在服务器上设置了代码和数据库。我运行命令 rails s,但是一旦我的本地系统关闭,服务器就会关闭。有没有办法让网络服务器在服务器上运行。Capistrano 可能不是必需的,因为我在服务器本身上有代码。Webrick 是当前使用的 webser。
这是第一次部署,任何帮助将不胜感激。
提前致谢。
在生产环境中使用 WEBrick 非常少见。有一个Stack Overflow 讨论为什么和很多人告诉你不要在网络上太多。我真的不喜欢“因为每个人都这么说!” 答案,但谷歌会发现你很多很多意见。
但是,如果您的应用程序没有被广泛使用并且您的服务器上有可用资源,您可以在启动服务器时以守护程序模式运行:
rails server -d
但是,一旦开始,停止这种情况的唯一方法是获取 pid 并调用kill
该进程:
kill -9 thepidhere
(我发现 -9 是必要的,否则它拒绝停止)
如果你想换成另一台服务器,请查看thin、Unicorn和Nginx。如需大型、强大、可定制的解决方案,请查看这篇关于 Apache 和 Mongrel 的文章。
thin
尝试在服务器上运行您的应用程序。
写gem 'thin'
在你的gemfile中。不如
写
吧。
除非你写,否则你的服务器不会停止bundle install
thin start
rails s
thin stop
我认为以上内容对您有用。
您必须创建一个守护进程,以便即使没有使用命令 rails s 打开本地终端,它也可以运行。尝试类似 rails s -d 的东西。您还可以安装乘客并编写乘客启动 -d 或瘦并编写 rails s -d。
为了更好的部署,如果您使用上述独立方式运行应用程序,则添加一个初始化脚本以自动启动应用程序是一个好主意。