使用Passenger和Apache部署Ruby on Rails应用程序

时间:2019-05-15 18:10:34

标签: ruby-on-rails apache passenger

我正在尝试使用Phusion Passenger和MacOS上的Apache2模块来部署Ruby on Rails应用程序。我相信我已经正确安装了所有依赖项和gem,并认为问题出在我的配置文件中。我没有域,因此我尝试使用localhost进行部署。

第一个文件是apache2 Web服务器的配置,位于/private/etc/apache2/httpd.conf中,我想我的问题是ServerName。我还没有一个域可以公开托管此Web应用程序。我正在尝试首先在本地部署它。我一直在使用localhost:3000进行开发,也想使用它进行部署。也许我对这里的部署和ServerName并不了解。

httpd.conf

<VirtualHost *:80>
  ServerName localhost.depot
  DocumentRoot /Users/rubythree/Documents/agile-web-development-with-rails-5.1/production/depot/public
  SetEnv SECRET_KEY_BASE "secret_key_here"
  <Directory /Users/rubythree/Documents/agile-web-development-with-rails-5.1/production/depot/public>
    AllowOverride all
    Options -MultiViews
    Require all granted
  </Directory>
</VirtualHost>

下一个可能出现问题的文件是位于/private/etc/hosts的主机文件,在其中添加了以下行...

主机

127.1.1.1     localhost.depot

我对Phusion Passenger和Apache还是陌生的,并且很确定我在这里的配置文件中缺少某些内容。当我在加载一段时间后尝试访问ip 127.1.1.1时,浏览器将无法访问服务器。运行curl 127.1.1.1也不返回任何内容,它将超时。任何帮助或指示,不胜感激:)

1 个答案:

答案 0 :(得分:0)

即使ServerName不匹配-apache也会默认将第一个虚拟主机用作服务。

“此机器”的地址为127.0.0.1,并确保apache实际正在运行并且日志中没有错误