如何在服务器重启后重新启动 RoR 服务

如何在服务器重启后重新启动 RoR 服务

更新我一直在寻找重启后项目中可能需要重新启动哪些服务。其中一个是 sphinx,我最终找到了它的日志记录:

[Fri Nov 16 19:34:29.820 2012] [29623] accepting connections

但是我仍然无法运行 searchd 或 searchd --stop,因为 etc/sphinxsearch 中没有生成 sphinx.conf 文件,有关更多信息,请参阅此开放线程重启后的thinking_sphinx

然后,我根据我得到的一些见解,开始研究重新启动 unicorn 或 thin。问题是,当我检查我的 gem 时,我看到一个用于 thin 和 unicorn。但是当我尝试启动其中任何一个时,它们在 nginx 和 sphinxsearch 文件所在的 etc/init.d/ 中没有文件...

重启是否会彻底删除 Thin 或 Unicorn 等应用服务器的文件?我们的服务器托管在 Rackspace 上运行

ruby 1.9.2p290
rails(3.2.8、3.2.7、3.2.0)
nginx/1.1.19

  • 请注意,unicorn 和thin 都有 gem,但我的应用配置文件夹中没有 unicorn.rb 或 thin.rb... 我仍然非常迷茫,如果有人能告诉我一些步骤来解决这个问题,我将不胜感激。任何帮助都会有所帮助,谢谢阅读。

薄 1.4.1
独角兽 4.3.1

当我运行 unicorn 时我得到了同样的结果此处引用的问题

> /usr/local/bin/unicorn start

/usr/local/lib/ruby/gems/1.9.1/gems/unicorn-4.3.1/lib/unicorn/configurator.rb:610:in `parse_rackup_file': rackup file (start) not readable (ArgumentError)
from /usr/local/lib/ruby/gems/1.9.1/gems/unicorn-4.3.1/lib/unicorn/configurator.rb:76:in `reload'
from /usr/local/lib/ruby/gems/1.9.1/gems/unicorn-4.3.1/lib/unicorn/configurator.rb:67:in `initialize'
from /usr/local/lib/ruby/gems/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:104:in `new'
from /usr/local/lib/ruby/gems/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:104:in `initialize'
from /usr/local/lib/ruby/gems/1.9.1/gems/unicorn-4.3.1/bin/unicorn:121:in `new'
from /usr/local/lib/ruby/gems/1.9.1/gems/unicorn-4.3.1/bin/unicorn:121:in `<top (required)>'
from /usr/local/bin/unicorn:19:in `load'
from /usr/local/bin/unicorn:19:in `<main>'

当我运行它时它只会打开一个命令行提示符......

 /usr/local/bin/thin start

 >> Using rack adapter

其他珍品:

* 当地珍宝 *

actionmailer (3.2.8, 3.2.7, 3.2.0)
actionpack (3.2.8, 3.2.7, 3.2.0)
activemodel (3.2.8, 3.2.7, 3.2.0)
activerecord (3.2.8, 3.2.7, 3.2.0)
activeresource (3.2.8, 3.2.7, 3.2.0)
activesupport (3.2.8, 3.2.7, 3.2.0)
arel (3.0.2)
builder (3.0.0)
bundler (1.1.5)
carmen (1.0.0.beta2)
carmen-rails (1.0.0.beta3)
cocaine (0.2.1)
coffee-rails (3.2.2)
coffee-script (2.2.0)
coffee-script-source (1.3.3)
daemons (1.1.9)
erubis (2.7.0)
eventmachine (0.12.10)
execjs (1.4.0)
faraday (0.8.4)
faraday_middleware (0.8.8)
foursquare2 (1.8.2)
geokit (1.6.5)
hashie (1.2.0)
hike (1.2.1)
httparty (0.8.3)
httpauth (0.1)
i18n (0.6.0)
journey (1.0.4)
jquery-rails (2.0.2)
json (1.7.4, 1.7.3)
jwt (0.1.5)
kgio (2.7.4)
lastfm (1.8.0)
libv8 (3.3.10.4 x86_64-linux)
mail (2.4.4)
mime-types (1.19, 1.18)
minitest (1.6.0)
multi_json (1.3.6)
multi_xml (0.5.1)
multipart-post (1.1.5)
mysql2 (0.3.11)
oauth2 (0.8.0)
paperclip (3.1.1)
polyglot (0.3.3)
rack (1.4.1)
rack-cache (1.2)
rack-ssl (1.3.2)
rack-test (0.6.1)
rails (3.2.8, 3.2.7, 3.2.0)
railties (3.2.8, 3.2.7, 3.2.0)
raindrops (0.10.0, 0.9.0)
rake (0.9.2.2, 0.8.7)
rdoc (3.12, 2.5.8)
riddle (1.5.3)
sass (3.2.0, 3.1.19)
sass-rails (3.2.5)
sprockets (2.1.3)
sqlite3 (1.3.6)
sqlite3-ruby (1.3.3)
therubyracer (0.10.2, 0.10.1)
thin (1.4.1)
thinking-sphinx (2.0.10)
thor (0.16.0, 0.15.4, 0.14.6)
tilt (1.3.3)
treetop (1.4.10)
tzinfo (0.3.33)
uglifier (1.2.7, 1.2.4)
unicorn (4.3.1)
xml-simple (1.1.1)

我正在开发另一个团队创建的项目。我对配置文件夹中的常量文件进行了一些修改(更改了一些填充下拉字段的数组的值),但必须重新启动应用程序才能识别这些更改。托管通过 Rackspace 进行,我们通过其网站上的选项重新启动。我联系了他们并检查了我们服务器的状态,端口已打开并可运行。问题是当您访问站点的地址时,应用程序没有运行。然后,当我输入服务器的 IP 地址时,它只显示“欢迎使用 Nginx”。但在日志文件中我看到:

[Thu Nov 15 02:34:37.945 2012] [15916] caught SIGTERM, shutting down
[Thu Nov 15 02:34:37.996 2012] [15916] shutdown complete

我不太熟悉服务器端设置。我也从未参与过需要在应用程序启动之前启动特定服务的 Rails 项目。如果您能提供任何有关如何确定需要重新启动哪些服务以及如何重新启动这些服务的见解,我将不胜感激。我现在感觉有点不知所措……

谢谢,

艾伦

答案1

看看这样的工具监控或者暴发户。如果应用服务器(如 unicorn)意外死亡,它们可用于重新启动应用服务器并确保您的 Rails 应用程序正在运行。

答案2

好的,经过几个小时的搜索和尝试我在网上找到的无数东西后,我从命令行运行了这个:

unicorn_rails -p 3000

就像魔术一样,该网站又恢复运行了,现在我的问题是,当我关闭控制台(我正在运行该命令)时,该网站再次关闭。

我要去关注希望能够修复这个问题

相关内容