Ubuntu 下通過 Nginx 部署 Django
Django 是一個高效能的 Python 網頁框架,廣泛用於開發各種 web 應用程式。將 Django 部署在 Ubuntu 系統上,並使用 Nginx 作為反向代理伺服器,可以提高應用的性能和安全性。本文將詳細介紹如何在 Ubuntu 環境中通過 Nginx 部署 Django 應用。
前期準備
在開始之前,請確保您已經安裝了以下軟體:
- Ubuntu 伺服器
- Python 3
- Pip
- Virtualenv
- Nginx
您可以通過以下命令安裝 Nginx:
sudo apt update
sudo apt install nginx安裝 Django
首先,您需要創建一個虛擬環境來安裝 Django。這樣可以避免與系統其他 Python 包的衝突。
sudo apt install python3-venv
mkdir myproject
cd myproject
python3 -m venv venv
source venv/bin/activate
pip install django接下來,您可以創建一個新的 Django 專案:
django-admin startproject myproject配置 Django
在 Django 專案中,您需要修改 `settings.py` 文件,以便允許來自 Nginx 的請求。找到 `ALLOWED_HOSTS` 並添加您的域名或 IP 地址:
ALLOWED_HOSTS = ['your_domain.com', 'your_server_ip']運行 Django 開發伺服器
在開發過程中,您可以使用 Django 自帶的開發伺服器來測試應用:
python manage.py runserver 0.0.0.0:8000這樣,您的 Django 應用就可以通過 `http://your_server_ip:8000` 訪問了。
使用 Gunicorn 作為 WSGI 伺服器
為了在生產環境中運行 Django,建議使用 Gunicorn 作為 WSGI 伺服器。您可以通過以下命令安裝 Gunicorn:
pip install gunicorn然後,您可以使用以下命令啟動 Gunicorn:
gunicorn --bind 0.0.0.0:8000 myproject.wsgi:application配置 Nginx
接下來,您需要配置 Nginx 以反向代理到 Gunicorn。創建一個新的 Nginx 配置文件:
sudo nano /etc/nginx/sites-available/myproject在文件中添加以下內容:
server {
listen 80;
server_name your_domain.com your_server_ip;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /path/to/your/static/files;
}
location / {
include proxy_params;
proxy_pass http://127.0.0.1:8000;
}
}保存並退出編輯器,然後啟用配置:
sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled檢查 Nginx 配置是否正確:
sudo nginx -t如果沒有錯誤,重新啟動 Nginx:
sudo systemctl restart nginx總結
通過以上步驟,您已經成功在 Ubuntu 上通過 Nginx 部署了 Django 應用。這種配置不僅提高了應用的性能,還增強了安全性。若您需要進一步的支持或尋找合適的伺服器解決方案,請考慮使用 香港伺服器 來滿足您的需求。