文档章节

Django+uwsgi+sqlite部署配置

ZHAO_JH
 ZHAO_JH
发布于 01/30 21:59
字数 695
阅读 40
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

环境说明

  • 系统版本:centos7.1
  • python版本:3.6
  • sqlite版本:3.7
  • django版本:2.1
  • uwsgi版本:2.0.17

本文前提说明:

  • 1、安装uwsgi之前 python3 和 Django2.1 环境已经部署完成
  • 2、已经安装过sqlite或其它数据库,进入python3可用正常引用模块 import sll
  • 3、uwsgi配置文件格式 ini、xml、json 都可,本文以常用的ini配置格式为例

安装配置uwsgi

详细配置参数和变量可参考博文《uwsgi配置详解》或官方配置文档

安装

安装uwsgi[python2或未定义的请用pip命令安装]

pip3 install uwsgi

查看uwsgi版本

uwsgi --version
2.0.17.1

为方便使用,创建uwsgi软连接

ln -s /usr/local/python36/bin/uwsgi /usr/bin/uwsgi

uwsgi服务测试

创建 test.py 测试文件,该uwsgi测试文件在python3中执行不显示

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    # return "Hello World"      # 注:python2使用
    return [b"Hello World"]     # 注:python3使用

运行 uwgi 服务测试

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

【结果】

输入 http://IP:8001 页面显示 Hello World 为服务正常运行

==备注说明:因部署环境版本不同可能输出不了 Hello World 但服务可以正常运行,访问无报错信息即可。此服务测试仅做参考==


配置 uwsgi

具体配置参数可参考官方文档或博文《UWSGI配置详解》

uwsgi.ini配置

==ini方法是较常用的配置方式==

创建 uwsgi.ini 配置文件,一般存放在在django项目下

[uwsgi]
#自定义变量
projectname = MyDjango
base = /www/DjangoProject/MyDjango
# 启动uwsgi的用户名和用户组
uid = www
gid = www
# 我的项目目录
chdir = %(base)
# 指定项目的application
module = %(projectname).wsgi:application
# 进程个数
workers = 5
# 启用主进程
master = true
# 自动移除unix Socket和pid文件当服务停止的时候
vacuum = true
# 序列化接受的内容,如果可能的话
thunder-lock = true
# 启用线程
enable-threads = true
# 设置自中断时间
harakiri = 30 
# 设置缓冲  
post-buffering = 4096
#pid文件保存路径
pidfile = /tmp/uwsgi.pid
# 设置日志目录
daemonize = /tmp/uwsgi.log
# 指定sock的文件路径,可以用端口或sock文件
#socket = 192.168.88.20:8099
socket = /tmp/uwsgi.sock

变更项目setting配置

setting

DEBUG = False

ALLOWED_HOSTS = ['www.test.com','127.0.0.1','192.168.88.88','localhost']
或
ALLOWED_HOSTS = ['*']

配置nginx

添加nginx虚拟主机配置

server {
    listen 80;    
    server_name www.test.com;
        charset utf-8;
    location / { 
        include uwsgi_params;
        include mime.types; 
        uwsgi_pass unix:/tmp/uwsgi.sock;
    }   
    location /static/ {
        alias /www/DjangoProject/MyDjango/APP/templates/;
    }   
    error_log /www/wwwlogs/www.test.com.error.log;
    access_log  /www/wwwlogs/www.test.com.access.log;
}

运行uwsgi服务

配置完成后启动服务加载配置

uwsgi --ini uwsgi.ini

重载uwsgi配置文件

uwsgi --reload /tmp/uwsgi.pid

停止uwsgi服务

uwsgi --stop /tmp/uwsgi.pid

© 著作权归作者所有

ZHAO_JH
粉丝 17
博文 203
码字总数 183245
作品 0
宝山
运维
私信 提问
三层交换机环境的上网行为管理方案

很多局域网采用的是“防火墙/路由--三层交换机--二层交换机”的拓扑结构,而由于三层交换机的配置相对来说比较复杂,在这样的局域网中部署上网行为管理,用户往往会面临如下的一些问题: 找不...

技术小阿哥
2017/11/27
0
0
FastDFS的配置、部署与API使用解读(5)FastDFS配置详解之Tracker配置

《Poechant的FastDFS的配置、部署与API使用教程》 FastDFS的配置、部署与API使用解读——(1)入门使用教程 FastDFS的配置、部署与API使用解读——(2)Java API:根据InputStream、文件名、...

晨曦之光
2012/04/24
420
0
FastDFS的配置、部署与API使用解读(6)FastDFS配置详解之Storage配置

《Poechant的FastDFS的配置、部署与API使用教程》 FastDFS的配置、部署与API使用解读——(1)入门使用教程 FastDFS的配置、部署与API使用解读——(2)Java API:根据InputStream、文件名、...

晨曦之光
2012/04/24
504
0
AWS codedeploy 创建部署组

创建codedeploy为就地部署的一个部署组,需要先完成以下任务: 1.尚未为实例做好在应用程序的首次 CodeDeploy 部署中使用的准备。要设置实例,请按照使用适用于 CodeDeploy 的实例中的说明操...

守护-创造
04/25
2
0
服务器后端开发系列——《实战Nginx高性能Web服务器》

1、高性能Web服务器Nginx的配置与部署研究(1)Nginx简介及入门示例 内容:概述Nginx的背景知识和简单的入门实例。 2、高性能Web服务器Nginx的配置与部署研究(2)Nginx入门级配置与部署及“...

晨曦之光
2012/04/24
327
0

没有更多内容

加载失败,请刷新页面

加载更多

非易失性内存NVM

冯诺依曼体系由四大块组成:运算和控制构成了中央处理器,另外的三个组成部分是输入、存储和输出。 本文关注的是其中的存储,谈及存储,又可以分成不同的层次。下图截取自百度图片,从图中可...

LitStone
23分钟前
2
0
如何将--no-ri --no-rdoc设置为gem install的默认设置?

我不使用我在机器上或我处理的服务器上安装的gem的RI或RDoc输出(我使用其他文档编制方式)。 默认情况下,我安装的每个gem都会安装RI和RDoc文档,因为我忘记设置--no-ri --no-rdoc 。 有没有...

技术盛宴
23分钟前
2
0
模拟双击事件

//模拟行双击事件 private void gdvDetail_DoubleClick(object sender, EventArgs e) { MouseEventArgs arg = e as MouseEventArgs; if (arg =......

_Somuns
29分钟前
5
0
服务注册中心Eureka比Zookeeper好在哪里

著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性)。由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡。在此Zookeeper保证...

boonya
29分钟前
2
0
Rabbitmq+Springboot设计秒杀应用

秒杀业务的核心是库存处理,用户购买成功后会进行减库存操作,并记录购买明细。当秒杀开始时,大量用户同时发起请求,这是一个并行操作,多条更新库存数量的SQL语句会同时竞争秒杀商品所处数...

你好夜故事
30分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部