Debian7服务器Apache2+Passenger部署Redmine双实例启动失败求助
解决Debian 7上Apache+Passenger部署多Redmine实例的问题
兄弟,我一眼就瞅出你配置里的核心问题了——ServerName字段不能带路径!你写的<myURL>/requests和<myURL>/project是错误写法,ServerName只能填纯域名(比如yourdomain.com),后面的路径得用Alias和Location来控制。Apache会把第一个VirtualHost当成默认站点,第二个根本不会被触发,这就是为啥只有第一个实例能正常跑。
给你修正后的正确配置,把两个Redmine实例放在同一个VirtualHost下就行:
<VirtualHost *:80> ServerName <your-full-domain> # 这里填纯域名,比如example.com,不要加路径 RailsEnv production # 第一个Redmine实例:对应/requests路径 Alias /requests /var/www/redmine_instance1/public <Location /requests> PassengerBaseURI /requests PassengerAppRoot /var/www/redmine_instance1 </Location> <Directory /var/www/redmine_instance1/public> AllowOverride all Options -MultiViews Require all granted # Debian 7的Apache2.4需要这个,替代旧版的Allow from all </Directory> # 第二个Redmine实例:对应/project路径 Alias /project /var/www/redmine_instance2/public <Location /project> PassengerBaseURI /project PassengerAppRoot /var/www/redmine_instance2 </Location> <Directory /var/www/redmine_instance2/public> AllowOverride all Options -MultiViews Require all granted </Directory> </VirtualHost>
额外注意事项
- 务必把
<your-full-domain>替换成你实际的纯域名,比如yourcompany.com,绝对不能加/requests这类路径后缀 - 检查文件权限:确保Apache运行用户(通常是
www-data)对两个Redmine实例的目录有读写权限,尤其是tmp和log文件夹,不然会出现启动失败或者日志无法写入的问题 - 重启服务生效:
sudo service apache2 restart # 用Passenger专属命令重启实例更稳妥 sudo passenger-config restart-app /var/www/redmine_instance1 sudo passenger-config restart-app /var/www/redmine_instance2 - 如果之前全局配置过
PassengerRuby,不用在每个实例里重复写,放在Apache的全局配置文件里就行
这样配置后,两个Redmine实例应该就能分别通过http://<your-domain>/requests和http://<your-domain>/project正常访问了。
内容的提问来源于stack exchange,提问作者quinestor
相关产品推荐
相关产品推荐

