2012-04-03 40 views
5

Tôi đã thiết lập thành công một ứng dụng Django bằng cách sử dụng virtualenv trên Ubuntu và Apache 2, sử dụng chỉ thị WSGIPythonHome trỏ đến vị trí virtualenv của tôi. Bây giờ tôi cần tạo một ứng dụng Django riêng biệt, nó sẽ chạy trên Apache trên một cổng khác trên cùng một máy chủ Ubuntu. Tôi tự hỏi nếu có một cách để có Apache chạy nhiều trường hợp WSGIPythonHome? Hiện tại với WSGIPythonHome được đặt thành một số virtualenv gốc, có vấn đề với nhập khẩu trên ứng dụng Django thứ hai…Nhiều ứng dụng Django sử dụng virtualenv trên Apache 2 trên Ubuntu 11

Trả lời

0

Bạn nên làm điều này với riêng biệt virtual hosts trong Apache. Mỗi người có thể nghe một cổng cụ thể và có thể có các chỉ thị riêng của WSGI riêng của mình.

+0

Tôi có thiết lập máy chủ ảo cho từng ứng dụng. Ở đâu trong cấu hình máy chủ ảo để tôi thêm một WSGI. Cú pháp là gì. Tôi đã thử tìm kiếm google nhanh chóng về máy chủ ảo và WSGI trước khi đăng câu hỏi nhưng không tìm thấy gì hữu ích –

+0

os nhập khẩu, sys trang web nhập site.addsitedir ('/ home/deploy/virtualenv/costs/lib/python2.6/site- gói ') sys.path.append ('/opt/costs/current/src ') os.environ [' DJANGO_SETTINGS_MODULE '] =' costs.settings ' nhập django.core.handlers.wsgi application = django. core.handlers.wsgi.WSGIHandler() –

+0

ở trên là chỉ thị wsgi của tôi, tôi có hai, một cho mỗi ứng dụng ... nhưng tôi không thấy ở đâu, nơi tôi có thể thêm chỉ thị WSGIPythonHome –

2

Cách tốt nhất để làm điều này, tôi đã phát hiện cách đây khoảng một năm, là sử dụng WSGI làm daemon và đặt đường dẫn python trong chỉ thị daemon. Ví dụ bên dưới

<VirtualHost *:80> 
    ServerName yourhost.com 

    <Directory /> 
     Order deny,allow 
     #Require all granted 
    </Directory> 

    #Alias /static /opt/yourhost/static 
    WSGIScriptAlias//opt/yourhost/wsgi.py 

    WSGIApplicationGroup %{GLOBAL} 

    WSGIDaemonProcess yourhost.com python-path=/opt/yourhost:/opt/yourhost/venv/lib/python2.7/site-packages processes=2 threads=15 display-name=%{GROUP} 
    WSGIProcessGroup yourhost.com 
</VirtualHost> 
WSGISocketPrefix /var/run/wsgi 
Các vấn đề liên quan