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


Posted in Python onDecember 04, 2018

本文实例讲述了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就完成了

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

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

Python 相关文章推荐
python定时器(Timer)用法简单实例
Jun 04 Python
Python计算字符宽度的方法
Jun 14 Python
Python算术运算符实例详解
May 31 Python
回调函数的意义以及python实现实例
Jun 20 Python
Python不使用int()函数把字符串转换为数字的方法
Jul 09 Python
Python实现基于PIL和tesseract的验证码识别功能示例
Jul 11 Python
python opencv调用笔记本摄像头
Aug 28 Python
Python3 实现减少可调用对象的参数个数
Dec 20 Python
关于Tensorflow 模型持久化详解
Feb 12 Python
Python celery原理及运行流程解析
Jun 13 Python
Python openpyxl模块实现excel读写操作
Jun 30 Python
Python通过字典映射函数实现switch
Nov 06 Python
解决python中无法自动补全代码的问题
Dec 04 #Python
Django框架实现的简单分页功能示例
Dec 04 #Python
Django开发的简易留言板案例详解
Dec 04 #Python
对python的bytes类型数据split分割切片方法
Dec 04 #Python
Python 从相对路径下import的方法
Dec 04 #Python
浅谈python中str字符串和unicode对象字符串的拼接问题
Dec 04 #Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
Dec 04 #Python
You might like
PHP中实现图片的锐化
2006/10/09 PHP
输出控制类
2006/10/09 PHP
cmd下运行php脚本
2008/11/25 PHP
php cookie 登录验证示例代码
2009/03/16 PHP
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
PHP使用array_fill定义多维数组的方法
2015/03/18 PHP
php取出数组单个值的方法
2018/03/12 PHP
JavaScript 参考教程
2006/12/29 Javascript
js用闭包遍历树状数组的方法
2014/03/19 Javascript
jquery+CSS3模拟Path2.0动画菜单效果代码
2015/08/31 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
JS原型对象的创建方法详解
2016/06/16 Javascript
js基于cookie记录来宾姓名的方法
2016/07/19 Javascript
微信小程序 省市区选择器实例详解(附源码下载)
2017/01/05 Javascript
使用JavaScript开发跨平台的桌面应用详解
2017/07/27 Javascript
vuex学习之Actions的用法详解
2017/08/29 Javascript
Angular搜索 过滤 批量删除 添加 表单验证功能集锦(实例代码)
2017/10/25 Javascript
AngularJS自定义过滤器用法经典实例总结
2018/05/17 Javascript
基于element-ui组件手动实现单选和上传功能
2018/12/06 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
2020/06/02 Javascript
解决Vue + Echarts 使用markLine标线(precision精度问题)
2020/07/20 Javascript
vue实现公共方法抽离
2020/07/31 Javascript
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
Python利用神经网络解决非线性回归问题实例详解
2019/07/19 Python
详解python中自定义超时异常的几种方法
2019/07/29 Python
解决Python import docx出错DLL load failed的问题
2020/02/13 Python
Django获取model中的字段名和字段的verbose_name方式
2020/05/19 Python
python3.7调试的实例方法
2020/07/21 Python
使用python批量修改XML文件中图像的depth值
2020/07/22 Python
什么是虚拟内存?虚拟内存有什么优势?
2016/02/09 面试题
Linux开机引导的步骤是什么
2014/02/26 面试题
就业自我评价
2014/02/04 职场文书
会展策划与管理专业大学生职业生涯规划
2014/02/07 职场文书
旅游项目合作意向书
2015/05/08 职场文书
监护人证明
2015/06/19 职场文书
小学开学典礼新闻稿
2015/07/17 职场文书