Если вы все еще хотите использовать Mongrel + Apache с использованием обратного прокси-сервера, вот как я решил ту же проблему в нашей системе (Win2k3, Apache 2.2, транк Redmine). Секрет заключается в том, чтобы установить службу mongrel с помощью --prefix /redmine
, которая указывает, что она будет обслуживаться с http://localhost:port/redmine
В Apache httpd.conf (или подходящий файл для включения):
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
<IfModule mod_proxy.c>
ProxyRequests Off
#No need to forward on static content - let apache do it faster
ProxyPass /redmine/images !
ProxyPass /redmine/stylesheets !
ProxyPass /redmine/javascript !
# Remove the following entry on public sites as this is insecure
ProxyPass /redmine/plugin_assets !
ProxyPass /redmine/help !
ProxyPass /redmine http://localhost:4000/redmine
ProxyPassReverse /redmine http://localhost:4000/redmine
ProxyPreserveHost On
#continue with other static files that should be served by apache
Alias /redmine/images C:/Repositories/redmine/public/images/
Alias /redmine/stylesheets C:/Repositories/redmine/public/stylesheets/
Alias /redmine/javascript C:/Repositories/redmine/public/javascript/
# Remove the following on public sites as this is insecure
Alias /redmine/plugin_assets C:/Repositories/redmine/public/plugin_assets/
Alias /redmine/help C:/Repositories/redmine/public/help/
</IfModule>
# Make sure apache can see public and all subfolders - not suitable for public sites
<Directory "C:/Repositories/redmine/public/">
Allow from all
Order allow,deny
</Directory>
Mongrel установлен как таковой:
mongrel_rails service::install --prefix /redmine -N redmine_prod -p 4000 -e production -c C:\Repositories\redmine
Надеюсь, это кому-нибудь поможет. Сначала я пытался настроить Apache + fastcgi и т. Д., Но потерял больше ценных волос - это не подходит для Windows.
P.s. Я нашел этот PDF очень полезным референом: http://www.napcsweb.com/howto/rails/deployment/RailsWithApacheAndMongrel.pdf
/ Damien