You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:31:07