文章目錄
- django項目部署到服務器
- 在服務器上安裝Django和依賴:
- 項目代碼上傳
- 配置數據庫
- 收集靜態文件
- 配置Web服務器
- 配置Gunicorn(WSGI服務器)
- 啟動/停止/重載systemd服務。
django項目部署到服務器
在服務器上安裝Django和依賴:
sudo apt update
sudo apt install python3 python3-pip
pip3 install django
項目代碼上傳
將項目代碼上傳到服務器,可以使用scp或其他文件傳輸方法。
配置數據庫
在服務器上創建數據庫(如PostgreSQL或MySQL),并配置好數據庫用戶,然后通過Django的遷移命令創建或更新數據庫表:
python3 manage.py makemigrations
python3 manage.py migrate
收集靜態文件
python3 manage.py collectstatic
配置Web服務器
如Nginx或Apache,來代理傳入的HTTP請求到Django應用。以Nginx為例,配置文件可能如下:
server {listen 80;server_name example.com; # 你的域名或服務器IPlocation /static/ {alias /path/to/your/django/project/static/; # 靜態文件目錄}location / {proxy_pass http://localhost:8000; # Django開發服務器的IP和端口proxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}
配置Gunicorn(WSGI服務器)
作為Django應用的服務器,在生產環境下推薦使用。創建一個配置文件gunicorn_config.py:
import osbind = "0.0.0.0:8000" # 監聽所有IP地址的8000端口
workers = 3 # 根據服務器資源調整
啟動Gunicorn服務器:
gunicorn --config gunicorn_config.py myproject.wsgi:application
如果你想讓Django應用作為系統服務運行,可以創建一個systemd服務文件:
[Unit]
Description=My Django Project
After=network.target[Service]
User=your_user
Group=your_group
WorkingDirectory=/path/to/your/django/project
ExecStart=/path/to/gunicorn --config gunicorn_config.py myproject.wsgi:application
Restart=always[Install]
WantedBy=multi-user.target
啟動/停止/重載systemd服務。
最后,確保服務器的防火墻設置允許HTTP(端口80)和Gunicorn(默認端口8000)使用。
注意:以上步驟僅提供了一個基本的部署流程,根據項目的具體需求,可能需要額外的步驟,如配置郵件服務器、調整設置、安裝額外的依賴等。