前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Uwsgi部署django程序

Uwsgi部署django程序

作者头像
happy123.me
发布2018-06-04 10:13:48
6080
发布2018-06-04 10:13:48
举报
文章被收录于专栏:乐享123乐享123乐享123

Python的web世界,部署首选uwsgi,既可独战,又可搭配Nginx等车轮战,实在是居家必备。

但我每次都得搞都得去翻一遍手册,实在烦了,记一下简单粗暴的测试方案。

安装

pip install uwsgi

测试

写一个最简单的test.py:

1 2 3 4

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

python3的话需要返回一个binary

1 2 3 4

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

执行shell命令:

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

访问:

http://127.0.0.1:8000/

因该能看到Hello World

集成Django

django-admin startproject testuwsgi

这样生成的项目,django版本不同,目录会有微小的差别,找manage.py就对了

如果是>django1.6的话,会自动生成wsgi.py文件,没有的话编辑一个:

1 2 3 4 5 6 7 8 9 10 11 12 13 14

#!/usr/bin/env python # coding: utf-8 import os import sys # 将系统的编码设置为UTF8 reload(sys) sys.setdefaultencoding('utf8') os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") from django.core.handlers.wsgi import WSGIHandler application = WSGIHandler()

执行:

uwsgi --http :8000 --chdir xxxxx/testuwsgi --module testuwsgi.wsgi

访问:

http://127.0.0.1:8000/

因该能看到Django的欢迎页面了

支持Https

uwsgi自1.3版本开始支持https

分两步走:

生成证书
openssl genrsa -out foobar.key 2048
openssl req -new -key foobar.key -out foobar.csr
openssl x509 -req -days 365 -in foobar.csr -signkey foobar.key -out foobar.crt
走起
uwsgi --master --https 0.0.0.0:8443,foobar.crt,foobar.key --chdir xxxxx/testuwsgi --module testuwsgi.wsgi

访问的时候要以:

https://127.0.0.1:8443/

OK了

至于怎么搭配Nginx,写配置文件,搭配Supervisor,还是老老实实翻手册吧,反正这个不是经常做。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 测试
  • 集成Django
  • 支持Https
    • 生成证书
      • 走起
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档