Tôi đang cố gắng chạy hai dự án Django cùng một lúc. Tôi tình cờ sử dụng mod_wsgi và thấy trang web đang hoạt động lạ. Có lẽ sẽ có một cách giải quyết, nhưng tôi muốn biết những gì tôi đang thiếu và cách giải quyết vấn đề.Hai dự án Django chạy đồng thời và mod_wsgi hoạt động werid
Trong cấu hình apache
# Setup the Python environment
# As root owns basically everything on a Amazon AMI and root
# cannot be used. Create a folder under /var/run/wsgi
# with the owner as ec2-user and group ec2-user.
WSGISocketPrefix /var/run/wsgi
# Call your daemon process a name
WSGIDaemonProcess pydaemon processes=1 threads=5
# Call your daemon process group a name
WSGIProcessGroup pydaemon
# Point to where the handler file is. This will be different
# If you are using some other framework.
WSGIScriptAlias /test /var/www/html/test/wsgi.py
WSGIScriptAlias /proto /var/www/html/proto/wsgi.py
Sau Apache khởi động lại, nếu tôi kết nối với '/ proto', sau đó trang web proto được hiển thị. Tuy nhiên, sau đó tôi kết nối với '/ test', mà không cần khởi động lại Apache, trang web proto vẫn được hiển thị và tôi không thể truy cập vào trang thử nghiệm.
Bây giờ tôi khởi động lại Apache, lần này tôi đi đến '/ test' trước. Các trang web thử nghiệm đi lên! Tuy nhiên, nếu tôi đi đến '/ proto' nó vẫn hiển thị trang web thử nghiệm, không phải trang web proto.
Điều gì có thể làm cho điều này xảy ra? Tôi đã thêm SESSION_COOKIE_PATH khác nhau cho mỗi ứng dụng chỉ trong trường hợp, nhưng vấn đề vẫn tồn tại.
[CẬP NHẬT]
Tôi cũng đã cố gắng như sau, để cung cấp cho tên nhóm ứng dụng WSGI khác nhau, nhưng không có may mắn.
Alias /cuedit /var/local/test/wsgi.py
<Location /test>
SetHandler wsgi-script
Options +ExecCGI
WSGIApplicationGroup test
</Location>
Alias /proto /var/local/proto/wsgi.py
<Location /proto>
SetHandler wsgi-script
Options +ExecCGI
WSGIApplicationGroup proto
</Location>
[CẬP NHẬT]
tôi đã thay đổi từ chế độ daemon sang chế độ nhúng. Tôi đoán vấn đề là hai trường hợp được chia sẻ cùng một quá trình daemon mod_wsgi để không gian tên của chúng va chạm nhau.
Tôi cho rằng chúng sẽ được xử lý đúng cách, nhưng ở chế độ daemon tôi không thể làm đúng.
Vui lòng không đặt mã của bạn dưới '/ var/www/html'. –
Và trong mỗi trường hợp tôi không tìm thấy lỗi trong nhật ký lỗi Apache, trong khi nhật ký truy cập hiển thị HTTP GET trên mỗi thư mục chính xác – MHC
@DanielRoseman Bạn có ý định đặt các thư mục HTML bên ngoài không? – MHC