uwsgi+nginx部署Django項目操作示例

這篇文章主要介紹了uwsgi+nginx部署Django項目操作,結合實例形式簡單介紹了uwsgi的概念、原理、安裝、項目創建、配置、調試運行等相關操作技巧,需要的朋友可以參考下

本文實例講述了uwsgi+nginx部署Django項目操作。分享給大家供大家參考,具體如下:

uWSGI概述

uWSGI 是一個全功能的 HTTP 服務器,可以把 HTTP 協議轉化成語言支持的網絡協議。

安裝uwsgi

使用pip安裝即可

pip install uwsgi

安裝完成後可測試

#vim test.py
def application(env, start_response):
  start_response('200 OK', [('Content-Type','text/html')])
  return [b"Hello World"]

然後運行:

uwsgi --http :9090 --wsgi-file test.py

現在訪問 ip:9090,如果出現Hello World說明安裝成功

創建一個django項目

django-admin.py startproject hello

然後你的目錄是這樣的

hello /
├── hello
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── manage.py

確保Django應用能正常啓動

配置uwsgi.ini

#] vim /etc/uwsgi.ini #此文件可放在其它地方
[uwsgi]
chdir=/work/hello/ #項目目錄
uid=root #可換成其它用戶和組
gid=root
module=hello.wsgi:application
socket=/work/hello/uwsgi.sock
master=true
workers=5
pidfile=/work/hello/uwsgi.pid
vacuum=true
thunder-lock=true
enable-threads=true
harakiri=30
post-buffering=4096
daemonize=/work/hello/uwsgi.log

uwsgi相關命令

啓動uwsgi:uwsgi --ini /path/uwsgi.ini
停止uwsgi:uwsgi --stop /path/uwsgi.pid
重新加載配置:uwsgi --reload /path/uwsgi.pid

nginx配置

server {
  listen 8080;
  location /static {
    alias /work/hello/static; #Django project's static files
  }
  location / {
    include uwsgi_params;
    uwsgi_connect_timeout 30;
    uwsgi_pass unix:/work/hello/uwsgi.sock;
  }
}

先啓動uwsgi,啓動nginx,一個簡單的nginx + uwsgi + django就完成了

希望本文所述對大家基於Django框架的Python程序設計有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章