【问题标题】:Rails application isn't restarting after system reboot系统重新启动后 Rails 应用程序未重新启动
【发布时间】:2014-10-14 08:58:08
【问题描述】:

我有一个使用 Apache 和 Passenger 部署的 Rails 4 应用程序。

配置由this thread 提供,一切正常。

我创建了一个每当机器重新启动时运行的作业,我重新启动了机器以检查它是否工作,并且确实如此。

但是,由于某种原因,我的网址无法再访问。机器似乎没有将请求路由到应用程序(我从浏览器收到“此网页不可用”消息)。

我已经仔细检查了/etc/httpd/conf/httpd.conf 文件以确保配置仍然存在并且确实存在。 我还尝试使用cap production deploy 再次将应用程序推送到机器上,并且在执行此操作时没有收到任何错误。

我在/etc/httpd/conf/httpd.conf文件中的配置如下:

<VirtualHost *:80>
      ServerName csi-eng-perf.com
      # !!! Be sure to point DocumentRoot to 'public'!
      DocumentRoot /var/www/eng_performance/current/public/    
      <Directory /var/www/eng_performance/current/public/>
         # This relaxes Apache security settings.
         AllowOverride all
         # MultiViews must be turned off.
         Options -MultiViews
         # Uncomment this if you're on Apache >= 2.4:
         #Require all granted
      </Directory>

      ScriptAlias /cgi-bin/ /usr/lib/cgi-bin
      <Directory "/usr/lib/cgi-bin">
         AllowOverride None
         Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
         Order allow,deny
         Allow from all
      </Directory>
   </VirtualHost>

我不知道出了什么问题。

【问题讨论】:

  • 当您的应用程序无法访问时,Apache 是否正在运行?您能否访问其他内容,例如不属于 Rails 应用程序的静态 HTML 页面?
  • 感谢您的回复!您能否建议如何检查您提到的所有这些问题?
  • @Substantial - 什么?
  • Apache 配置不是我的专业领域。浏览器消息表明您的请求已超时,这表明服务器未运行。根据您的环境,apachectl status 应该会告诉您 Apache 在做什么。

标签: ruby-on-rails apache ruby-on-rails-4 apache2 passenger


【解决方案1】:

好吧,事实证明@Substantial 的建议是正确的。

我无法发出 apachectl status 命令(需要安装另一个名为 links 的软件包),但重启命令成功了 - apachectl -k restart。

【讨论】:

    猜你喜欢
    • 2017-08-14
    • 2014-09-14
    • 1970-01-01
    • 2018-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-12
    相关资源
    最近更新 更多