2011-01-07 72 views
4

我只用apache2 mod_WSGI运行我的django应用程序,但现在我想将Rails(乘客)应用程序添加到同一台服务器。我安装了Passenger,工作正常。如何配置Apache来运行Django(mod_WSGI)和Rails(乘客)

搜索完毕之后,而我发现了一种在www.myserver.com运行它,所以我有:

  • www.myserver.com - > Rails应用程序
  • www.myserver.com/app1 - > Django应用程序1
  • www.myserver.com/app2 - > Django应用程序2

的问题是我不知道该如何配置httpd.conf文件,例如运行:www.myserver.com/myrailsapp - > rails应用程序。

我Ubuntu服务器10.04和Apache2的上

的httpd.conf:

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.2/ext/apache2/mod_passenger.so 
PassengerRuby /usr/bin/ruby 
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.2/ 
Include /etc/apache2/rails.conf 

<VirtualHost www.myserver.com:80> 
    ServerName www.myserver.com.com 

    WSGIScriptAlias /hello /home/user/django/projects/hello/hello.wsgi 
    <Directory /home/user/django/projects/hello> 
     Order allow,deny 
     Allow from all 
    </Directory> 

    WSGIScriptAlias /app1 /home/user/django/projects/app1/app1.wsgi 
    <Directory /home/user/django/projects/app1> 
     Order allow,deny 
     Allow from all 
    </Directory> 

    Alias /static/admin /home/user/django/src/django/contrib/admin/media 

    ErrorLog /home/usero/django/projects/logs/error.log 
    CustomLog /home/user/django/projects/logs/access.log combined 
</VirtualHost> 

在线路:包括/etc/apache2/rails.conf

DocumentRoot /home/user/ruby/projects/redmine/public 
<IfDefine PASSENGER> 
    RailsBaseURI /redmine 
</IfDefine> 

这包括( rails.conf)是Rails应用程序运行的原因,但我可以将任何内容放在'RailsBaseURI/redmine'上,但没有任何变化。

问:我怎样才能让www.myserver.com/redmine重定向到/ home/user/ruby​​/projects/redmine/public?

任何帮助,欢迎。 谢谢。

回答

0

使用乘客支持Apache的导轨和 django部件的apache2-mod-python(sudo apt-get install apache2-mod-python)。 它与我合作;)

+0

请避免mod_python,而是使用(和推荐)mod_wsgi。 – n3storm 2012-01-26 16:05:12