使用uwsgi和nginx代理django项目

  • 时间:
  • 浏览:
  • 来源:互联网

如何使用uwsgi+nginx代理django项目

  • 1.介绍
  • 2.安装、配置和启动
    • 2.1 安装uwsgi
      • 2.1.1 使用apt-get方式安装
      • 2.1.2 使用pip方式安装
    • 2.2 配置uwsgi.ini
    • 2.3 启动uwsgi
    • 2.4 停止运行uwsgi
    • 2.5 重启uwsgi

1.介绍

引用uWSGI的配置与发布
在这里插入图片描述

2.安装、配置和启动

2.1 安装uwsgi

2.1.1 使用apt-get方式安装

apt-get install uwsgi
这种方式是将uwsgi安装到系统中,对于python2适用,但对于python3的环境,容易出现使用uwsgi启动了django项目后,网页访问不了的情况,此时需要使用python的pip3安装工具安装uwsgi。

2.1.2 使用pip方式安装

例:pip3 install uwsgi

安装完成后检查是否安装成功:
uwsgi --version # 输出uwsgi版本号的话说明安装成功
uwsgi --python-version # 检查uwsgi python版本

2.2 配置uwsgi.ini

uwsgi支持ini、xml等多种文件格式配置方式,本文主要讲解ini格式文件配置方式。
在django工程的根目录下(与manage.py文件同一个路径下)创建uwsgi.ini配置文件,并添加如下配置信息:
[uwsgi]
;当uwsgi直接作为web服务器时,使用http协议,端口号设定该服务是监听服务器上哪个端口的请求
;http=:8000
;当使用nginx代理服务器上的请求时,使用socket协议来使uwsgi监听nginx代理发送来的请求,端口号应该同nginx配置信息中保持一致
socket=:8000
;django项目根目录,绝对路径
chdir=/mnt/disk/usr1/watt/server
;django项目中wsgi.py(wsgi接口模块文件)位置,此处配置的是相对于根目录的相对路径
wsgi-file=server/wsgi.py
;作用如上
module = server.wsgi
;指明python解释器第一层路径
;home=/usr/bin/python3
;作用如上
;virtualenv=/root/anaconda3/envs/watt/bin/python3.7
;配置启动的进程数,指明通过uwsgi启动多少个进程
processes=8
;配置每个进程的线程数
threads=4
;配置启动管理主进程
master=True

buffer-size=30000
maxrequests=5000
;在退出uwsgi环境后,清空环境变量
vacuum=true
;配置日志保存路径
daemonize=uwsgi.log
;配置存放主进程的进程号文件
pidfile=uwsgi.pid
py-autoreload = 1
;http-timeout=3600
;harakiri=3600
;static-safe=/mnt/disk/usr1/watt/server/static
;配置静态文件目录
;static-map=/static=/mnt/disk/usr1/watt/server/static

2.3 启动uwsgi

进入到uwsgi.ini文件目录,执行启动命令:
uwsgi --ini uwsgi.ini # 不加–ini也可以

显示 [uWSGI] getting INI configuration from uwsgi.ini 表明uwsgi运行成功。
通过 ps -ef|grep uwsgi 查看确认是否uwsgi启动

2.4 停止运行uwsgi

通过包含主进程pid的文件停止uwsgi,指令:
uwsgi --stop uwsgi.pid

2.5 重启uwsgi

uwsgi --reload uwsgi.pid

本文链接http://metronic.net.cn/metronic/show-22220.html