我正在尝试将我的第一个 Rails 应用程序部署到使用 Capistrano 部署的 Ubuntu/Apache/Passenger 服务器上。我已经设置了一个虚拟主机来指向一个目录,我的所有 Rails 应用程序都将存在:
这是我的虚拟主机文件:
<VirtualHost *:80>
ServerName rails.mydomain.com
ServerAlias rails.mydomain.com
DocumentRoot /var/www/vhosts/rails.mydomain.com
<Directory /var/www/vhosts/rails.mydomain.com>
Allow from all
AllowOverride all
Options -MultiViews -Indexes
</Directory>
# PassengerAppRoot /var/www/vhosts/rails.mydomain.com
RailsBaseURI /myappname
# RailsBaseURI /myappname2
# RailsBaseURI /myappname3
Include /etc/apache2/production-expires.conf
CustomLog /var/log/apache2/rails.mydomain.com-access_log common
ErrorLog /var/log/apache2/rails.mydomain.com-error_log
</VirtualHost>
加载 rails 应用程序(rails.mydomain.com/myappname)后,我得到:
Error message:
No such file or directory - config/environment.rb
Exception class:
Errno::ENOENT
Application root:
/var/www/vhosts/rails.mydomain.com
config/environment.rb 在那里,我在运行 cap deploy 后通过 SSH 验证了它的存在。
所以我错过了什么,我觉得有些东西没有正确指向,你可以看到应用程序根指向我的 /rails.mydomain.com 文件夹,而不是实际的 /rails.mydomain.com/myappname 文件夹。