我在服务器上设置了代码和数据库。我运行命令rails s,但是一旦我的本地系统关闭,服务器就会关闭。有没有办法让Web服务器在服务器上运行。 Capistrano可能没有必要,因为我在服务器上有代码。 Webrick是我目前使用的网络用户。
这是第一次部署,我们非常感谢任何帮助。
提前致谢。
答案 0 :(得分:1)
在生产中使用WEBrick非常罕见。有一个Stack Overflow discussion of why,很多人告诉你的不是网络上的全部内容。我真的不喜欢“因为每个人都这么说!”答案,但谷歌会发现你很多很多意见。
但是,如果您的应用程序使用不是很广泛而且您的服务器上有足够的资源,则可以在启动服务器时以守护程序模式运行:
rails server -d
但是,一旦启动就停止此操作的唯一方法是获取pid并在流程上调用kill
:
kill -9 thepidhere
(我发现-9是必要的或拒绝停止)
如果您想要更改为其他服务器,请查看thin,Unicorn和Nginx。要获得一个强大,可定制的大型解决方案,请查看有关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。
为了更好地部署,最好添加一个初始化脚本,以便在使用上述独立方式运行应用程序时自动启动它。