我正在尝试使用 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
。