1. 程式人生 > >nginx+uwsgi+django環境搭建

nginx+uwsgi+django環境搭建

  • Nginx 1.10.3
  • uWSGI
  • Django-2.1.1

1. 下載配置Django

  • 使用pip3安裝Django,先安裝pip3

sudo apt-get install -y python3-pip pip3 install django

  • 安裝完成後測試Django能否正常執行 在**/opt/目錄下建立名為index**的Django工程

cd /opt django-admin startproject index cd index mkdir static # 建立靜態資源目錄

vim index/settings.py # 修改Django配置檔案 在檔案末尾新增

STATIC_ROOT = os.path.join(BASE_DIR,'static')

執行python manage.py collectstatic收集靜態資原始檔

python3.5 index/manage.py runserver 0.0.0.0:8080 瀏覽器輸入127.0.0.1:8080 測試成功繼續下一步

2. uWSGI配置

  • 下載uwsgi

pip3 install uwsgi

  • 測試uwsgi執行情況,使用uwsgi執行Django工程

cd /opt/index uwsgi --http :8080 --module index.wsgi

–http :8080:使用http協議,埠8080 –module:載入的檔案 在瀏覽器中輸入127.0.0.1:8080訪問站點

3. Nginx配置

  • 下載Nginx

sudo apt-get install -y nginx sudo service nginx start

nginx預設使用的是80埠,所以在瀏覽器中可直接訪問127.0.0.1

4. Nginx+uWSGI+Django

  • 複製uwsgi_params檔案到index目錄下

sudo cp /etc/nginx/uwsgi_params /opt/index/

  • 在index目錄下建立nginx伺服器配置檔案

vim index_nginx.conf 新增如下內容

upstream django {
    server 127.0.0.1:8080; # uwsgi埠號
}

server {
    listen 8000; # nginx監聽埠
    server_name 127.0.0.1; # 伺服器域名
    charset utf-8; # 字符集
    client_max_body_size 75M;   # 客戶端最大上傳

    location /static {
        alias /path/to/your/mysite/static; # 靜態資源目錄
    }

    location / {
        uwsgi_pass  django;
        include     /path/to/your/mysite/uwsgi_params; # uwsgi_params目錄
    }
}
  • 刪除**/etc/nginx/sites-enabled/defualt預設伺服器檔案 為index_nginx.conf**建立軟連線

sudo ln -s /opt/index/index_nginx.conf /etc/nginx/sites-enabled/

  • 建立uwsgi配置檔案

vim index_uwsgi.ini 新增如下內容

[uwsgi]
chdir = /opt/index # 站點主目錄
module = index.wsgi # 載入檔案
master = true # 啟用程序
processes = 10 # 啟用10個程序
socket = :8080 # 埠號
vacuum = true # 退出時清除虛擬環境
pidfile = /tmp/uwsgi.pid # 生成uwsgi啟動程序id檔案,用於 --stop | --reload

5. 測試

  • 重啟nginx

sudo service nginx restart

  • 使用uwsgi啟動django

uwsgi --ini index_uwsgi.ini

  • 在瀏覽器中直接輸入127.0.0.1成功訪問django站點