使用 Passenger 部署 Rails 应用程序时出现问题

使用 Passenger 部署 Rails 应用程序时出现问题

我正在尝试使用 Passenger 和 Apache 部署 Ruby on Rails 应用程序,但遇到了一些问题。当我尝试访问 example.com/tournament 时,出现错误,提示无法启动 Ruby on Rails 应用程序,并出现以下错误:

No such file or directory - config/environment.rb

经过一番搜索,我发现我的虚拟主机配置似乎有问题,因为所有权限都是正确的。你能找出这个配置有什么问题吗?请注意,example.com 不是我的配置,我在那里有一个不同的域。

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /srv/www/example.com/public_html
    ErrorLog /srv/www/example.com/logs/error.log
    CustomLog /srv/www/example.com/logs/access.log combined

    RailsBaseURI /tournament
    <Directory /srv/www/example.com/public_html/tournament>
            Options -MultiViews
    </Directory>
</VirtualHost>

答案1

看起来你的DocumentRoot声明还需要指向你的 Rails 应用程序的根目录。

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com

    DocumentRoot /srv/www/example.com/public_html/tournament

    ErrorLog /srv/www/example.com/logs/error.log
    CustomLog /srv/www/example.com/logs/access.log combined

    RailsBaseURI /tournament
    <Directory /srv/www/example.com/public_html/tournament>
            Options -MultiViews
    </Directory>
</VirtualHost>

设置DocumentRoot告诉 Passenger 在检查 Railsenvironment.rb文件时从哪里开始。点击此处了解更多信息

如果有帮助的话请告诉我!

编辑:修正了路径中的错误DocumentRoot

相关内容