CentOS 部署 Nginx + uWSGI + Django
在當今的網絡開發中,Django 是一個非常流行的 Python 網頁框架,因其簡單易用和強大的功能而受到廣泛歡迎。為了有效地部署 Django 應用,Nginx 和 uWSGI 是兩個常用的組件。本文將介紹如何在 CentOS 系統上部署 Nginx、uWSGI 和 Django。
環境準備
在開始之前,確保你的 CentOS 系統已經更新到最新版本。可以使用以下命令進行更新:
sudo yum update -y接下來,安裝必要的依賴包,包括 Python、pip 和虛擬環境工具:
sudo yum install python3 python3-pip python3-venv -y安裝 Django
首先,創建一個新的虛擬環境來安裝 Django:
mkdir ~/myproject
cd ~/myproject
python3 -m venv venv
source venv/bin/activate然後,使用 pip 安裝 Django:
pip install django接下來,創建一個新的 Django 項目:
django-admin startproject myproject安裝 uWSGI
在虛擬環境中安裝 uWSGI:
pip install uwsgi接下來,創建一個 uWSGI 配置文件,命名為 myproject.ini:
[uwsgi]
chdir = /home/yourusername/myproject/myproject
module = myproject.wsgi:application
home = /home/yourusername/myproject/venv
master = true
processes = 5
socket = myproject.sock
chmod-socket = 660
vacuum = true
die-on-term = true安裝 Nginx
使用以下命令安裝 Nginx:
sudo yum install epel-release -y
sudo yum install nginx -y安裝完成後,啟動 Nginx 並設置為開機自啟:
sudo systemctl start nginx
sudo systemctl enable nginx配置 Nginx
接下來,創建一個新的 Nginx 配置文件,位於 /etc/nginx/conf.d/myproject.conf:
server {
listen 80;
server_name your_domain.com; # 替換為你的域名
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/yourusername/myproject;
}
location / {
include uwsgi_params;
uwsgi_pass unix:/home/yourusername/myproject/myproject.sock;
}
}檢查 Nginx 配置是否正確:
sudo nginx -t如果沒有錯誤,重新加載 Nginx:
sudo systemctl reload nginx啟動 uWSGI
最後,啟動 uWSGI 服務:
uwsgi --ini myproject.ini為了讓 uWSGI 在系統啟動時自動運行,可以考慮使用 systemd 創建一個服務單元文件。
總結
通過以上步驟,我們成功地在 CentOS 上部署了 Nginx、uWSGI 和 Django。這種組合不僅能夠提供高效的性能,還能夠輕鬆地擴展應用。若您需要進一步的支持或尋找合適的 VPS 解決方案,請訪問我們的網站以獲取更多信息。