Django筆記/佈署Django專案

出自Tan Kian-ting的維基
於 2022年11月13日 (日) 20:33 由 Tankianting討論 | 貢獻 所做的修訂 (建立內容為「{{Nav|程式語言、邏輯學|Django筆記}} 摘自 Django 文件: == 佈署到 WSGI/ASGI == 首先爲了要讓伺服器支援Python 作爲 CGI 語言,所…」的新頁面)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
跳至導覽 跳至搜尋

摘自 Django 文件:

佈署到 WSGI/ASGI

首先爲了要讓伺服器支援Python 作爲 CGI 語言,所以需要安裝 WSGI(較傳統)或是 ASGI(非同步 async 友善,較新)。

官方支援說明:

其他伺服器類設定

設定Gunicorn(這可能沒有用)

   /etc/systemd/system/gunicorn.service                                                               

Group=www-data
WorkingDirectory=/root/lianlok                
ExecStart=/usr/local/bin/gunicorn(或其他絕對路徑) --access-logfile - --workers 3 --bind unix:/run/gunicorn.sock lianlok.wsgi:application
[Install]
WantedBy=multi-user.target

設定 nginx

site-available 裏面的 test 設定檔為:

前提要先 ./manage.py runserver 8080。

server {
listen 80;
server_name 127.0.0.1;

# https://docs.djangoproject.com/en/dev/howto/static-files/#serving-static-files-in-production
# location /static/ { # STATIC_URL
#    alias /home/www/example.com/static/; # STATIC_ROOT
#                  }

    access_log /root/log/lianlok-access.log;
    error_log /root/log/lianlok-error.log;

    location / {
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Scheme $scheme;
            proxy_pass http://127.0.0.1:8080;
        }
}

佈署到網站託管 (web hosting) 網站