Django - Thiết lập Apache

Cho đến nay, trong các ví dụ của chúng tôi, chúng tôi đã sử dụng máy chủ web Django dev. Nhưng máy chủ này chỉ để thử nghiệm và không phù hợp với môi trường sản xuất. Khi đang trong quá trình sản xuất, bạn cần một máy chủ thực sự như Apache, Nginx, v.v. Hãy thảo luận về Apache trong chương này.

Việc cung cấp các ứng dụng Django qua Apache được thực hiện bằng cách sử dụng mod_wsgi. Vì vậy, điều đầu tiên là đảm bảo rằng bạn đã cài đặt Apache và mod_wsgi. Hãy nhớ rằng, khi chúng tôi tạo dự án của mình và chúng tôi xem xét cấu trúc dự án, nó trông giống như -

myproject/
   manage.py
   myproject/
      __init__.py
      settings.py
      urls.py
      wsgi.py

Tệp wsgi.py là tệp chăm sóc liên kết giữa Django và Apache.

Giả sử chúng tôi muốn chia sẻ dự án của mình (myproject) với Apache. Chúng ta chỉ cần thiết lập Apache để truy cập vào thư mục của chúng ta. Giả sử chúng tôi đặt thư mục myproject của chúng tôi ở mặc định "/ var / www / html". Ở giai đoạn này, việc truy cập dự án sẽ được thực hiện thông qua 127.0.0.1/myproject. Điều này sẽ dẫn đến việc Apache chỉ liệt kê thư mục như được hiển thị trong ảnh chụp nhanh sau đây.

Như đã thấy, Apache không xử lý nội dung Django. Để thực hiện điều này, chúng ta cần cấu hình Apache trong httpd.conf. Vì vậy, hãy mở httpd.conf và thêm dòng sau:

WSGIScriptAlias / /var/www/html/myproject/myproject/wsgi.py
WSGIPythonPath /var/www/html/myproject/

<Directory /var/www/html/myproject/>
   <Files wsgi.py>
      Order deny,allow
      Allow from all
   </Files>
</Directory>

Nếu bạn có thể truy cập trang đăng nhập là 127.0.0.1/myapp/connection, bạn sẽ thấy trang sau: