我一直在尝试在最初用于多个 php 应用程序的盒子上安装 rails 应用程序。我安装了乘客并创建了一个 conf 文件,但我对它们如何协同工作感到困惑。
如果我想访问 Rails 应用程序,我的 ServerName 应该是什么?这个盒子是一个运行 apache2 的 debian 挤压,安装了乘客模块。下面是我的conf文件。我目前必须去 xxx.xxx.xxx.xxx/leoadmin/public 才能让应用程序正常运行。我在公共目录中有以下 htaccess。如果我的 conf 文件配置正确,我认为这是不必要的。
我认为我的主要问题是 conf 文件配置错误。我相信正在加载 conf 文件,但我不明白为什么我仍然需要 htaccess 才能看到任何操作。
.htaccess
#PassengerEnabled On
PassengerAppRoot /var/www/leoadmin/
#Options -MultiViews
#PassengerResolveSymlinksInDocumentRoot on
#Set this to whatever environment you'll be running in
RailsEnv production
#RackBaseURI /var/www/leoadmin
虚拟主机配置
<VirtualHost *>
ServerName leoadmin
DocumentRoot /var/www/leoadmin/public
<Directory /var/www/leoadmin/public>
Allow from all
</Directory>
Alias /leoadmin /var/www/leoadmin/public
<Location /leoadmin>
SetEnv RAILS_RELATIVE_URL_ROOT "/leoadmin"
PassengerAppRoot /var/www/leoadmin
</Location>
ErrorLog /var/log/apache2/leoadmin-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/leoadmin-access.log combined
</VirtualHost>