Trong câu hỏi trước của tôi, tôi đã hỏi cách làm cho mod_wsgi sử dụng một phiên bản Python cụ thể. Theo câu trả lời từ câu hỏi đó, tôi đã tạo một môi trường ảo Python 3.9 và khiến WSGI sử dụng nó. Tuy nhiên, bây giờ ứng dụng Flask của tôi hoàn toàn không chạy - tôi chỉ cấu hình trang 404 cho phần còn lại của trang web của mình. Tôi không gặp lỗi khi khởi động lại Apache2 và nhật ký lỗi Apache trống khi tôi truy cập trang web. Tôi nghĩ rằng lỗi phải là do môi trường ảo của tôi, vì tôi đã tạo các ứng dụng Flask thử nghiệm trước đó trước khi sử dụng cùng một kiểu cấu hình.
Môi trường ảo của tôi được đặt tại đường dẫn/đến/của tôi/ứng dụng/venv/
.
đường dẫn/đến/của tôi/ứng dụng/runner.wsgi
:
nhập khẩu hệ thống
# Làm cho nội dung nào đó xuất hiện trong nhật ký lỗi nếu WSGI hoàn toàn chạy
tăng ValueError()
DỰ ÁN_DIR = os.path.dirname(os.path.realpath(__file__))
sys.path.insert(0, DỰ ÁN_DIR)
từ my_app nhập ứng dụng dưới dạng ứng dụng
Một phần của /etc/apache2/sites-available/000-default-le-ssl.conf
:
WSGIDaemonProcess myapp user=www-data group=www-data thread=4 python-home=/path/to/my/app/venv/
WSGIScriptAlias /my-app/path/to/my/app/runner.wsgi
/etc/apache2/mods-available/wsgi.load
LoadModule wsgi_module "/path/to/my/app/venv/lib/python3.9/site-packages/mod_wsgi/server/mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so"
WSGIPythonHome "đường dẫn/đến/của tôi/ứng dụng/venv"
Hệ điều hành: Ubuntu 18.04.5 LTS