绪论


项目生产环境部署,是很重的一个知识点。第一,Django自带的服务器很简陋,由于测试和开发环境尚可,无法用于生产环境,保障安全性和可靠性、以及性能。此外,学习部署方式,还有利于了解生产部署后的项目架构。

组件安装


#安装uwsgi
pip3 install uwsgi ≈
#安装Nginx的依赖
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
#下载nginx
wget -c https://nginx.org/download/nginx-1.10.1.tar.gz
#安装nginx
cd -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1
./configure
make
make install
#检查安装路径
whereis nginx

基本的启动停止操作


# 测试启动uwsgi
uwsgi --http a.b.c.d:xxxx --file path/filename --static-map=/static=static
# 测试启停nginx,需要先进入nginx目录
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload #重启

配置uswgi


在Django项目同级目录下,创建script目录,,进入后创建uwsgi.ini配置文件

# uwsig使用配置文件启动
[uwsgi]
# 项目目录
chdir=/xxx/xxx/xxx
# 指定项目的application
module=xxx.wsgi:application
# 指定sock的文件路径
socket=/xxx/xxx/script/uwsgi.sock
# 进程个数
workers=5 #workers的数量
pidfile=/xxx/xxx/script/uwsgi.pid
# 指定IP端口
http=a.b.c.d:port
# 指定静态文件
static-map=/static=/xxx/xxx/xxx/static
# 启动uwsgi的用户名和用户组
uid=root
gid=root
# 启用主进程
master=true
# 自动移除unix Socket和pid文件当服务停止的时候
vacuum=true
# 序列化接受的内容,如果可能的话
thunder-lock=true
# 启用线程
enable-threads=true
# 设置自中断时间
harakiri=30
# 设置缓冲
post-buffering=4096
# 设置日志目录
daemonize=/xxx/xxx/script/uwsgi.log

配置Nginx


打开nginx配置文件位于nginx目录下的conf文件夹下 nginx.conf

server {
listen 80;
server_name localhost; location / {
include uwsgi_params;
uwsgi_pass a.b.c.d:9090; //必须和uwsgi中的设置一致
uwsgi_param UWSGI_SCRIPT demosite.wsgi; //入口文件,即wsgi.py相对于项目根目录的位置,“.”相当于一层目录
uwsgi_param UWSGI_CHDIR /demosite; //项目根目录
index index.html index.htm;
client_max_body_size 35m;
}
}

运行


uwsgi --ini /etc/uwsgi.ini.ini & /usr/local/nginx/sbin/nginx

学习项目部署Django+uwsgi+Nginx生产环境部署的更多相关文章

  1. Django + Uwsgi +Nginx生产环境部署

    python manage.py runserver 0.0.0.0:80 ,一定不要用这个轻量级Server作为你的生产环境下的Server,因为它只能用于开发自测阶段.它既没有安全审计功能,而且又 ...

  2. django+vue+nginx生产环境部署配置

    部署环境: 1. linux redhat 7.1 2.python 3.6.3 3. vue 4. nginx 5. gunicorn 6. supervisord 安装: 一. 基础环境安装 1. ...

  3. [linux]centos7.4部署django+Uwsgi+Nginx

    前言:我已经写了几个接口用来部署在服务器上的,首先选择django+Uwsgi+Nginx因为配置简单,比较符合python的简单操作功能强大的特点 然后对于django的一些版本在之前的文章写了 参 ...

  4. Centos 7 下部署Django + uWSGI + Nginx

    1.废话 之前利用Django写了些测试工具,一直是直接 python manage.py runserver 8081这么来用的.用户量不大,倒也不影响什么.uWSGI+Nginx的性能肯定要好,s ...

  5. django+nginx+uwsgi的生产环境部署(Ubuntu16.04)

    一,准备工作: 代码一定要能本地跑起来! 各种基础包的安装略默认已经安装python3,nginx,uwsgi等基础依赖,注意版本问题. 本地setting.py文件修改如下(改为生产模式,把debu ...

  6. Ubuntu环境下部署Django+uwsgi+nginx总结

    前言 这是我在搭建Django项目时候的过程,拿来总结记录,以备不时之需. 项目采用nginx+uwsgi的搭配方式. 项目依赖包采用requirements.txt文件管理的方式. 本地准备工作 确 ...

  7. 在UOS 上部署 django + uwsgi + nginx 流程

    前言:这篇主要是流程,不喜勿喷,虽然我知道在部署过程中 参照博客写的越详细越好. 强大的百度会解决一切的 爬了诸多坑 ,心累,必须总结!! 最近 芯片封锁闹的很凶  支持国产!! UOS 统一操作系统 ...

  8. Django+Nginx+uWSGI生产环境部署

    生产环境中的数据流 参考文档: wsgi详解:https://blog.csdn.net/li_101357/article/details/52748323 wsgi协议介绍(萌新版):https: ...

  9. 深度学习Tensorflow生产环境部署(上·环境准备篇)

    最近在研究Tensorflow Serving生产环境部署,尤其是在做服务器GPU环境部署时,遇到了不少坑.特意总结一下,当做前车之鉴. 1 系统背景 系统是ubuntu16.04 ubuntu@ub ...

随机推荐

  1. 分布式缓存系统 Memcached 整体架构

    分布式缓存系统 Memcached整体架构 Memcached经验分享[架构方向] Memcached 及 Redis 架构分析和比较

  2. app已损坏,打不开。你应该将它移到废纸篓。

    app已损坏,打不开.你应该将它移到废纸篓.(macOS Sierra 10.12) ,打开终端,执行 sudo spctl --master-disable 即可.

  3. [linux]Error: failure: repodata/repomd.xml from fedora: [Errno 256] No more mirrors to try.

    在使用fedora17 系统的yum源的时候出现了例如以下错误: Error: failure: repodata/repomd.xml from fedora: [Errno 256] No mor ...

  4. Windows上使用sqlite3

    安装 去官网http://www.sqlite.org/download.html下载Windows下安装包,下载后,解压,设置环境变量 例如放在D:\sqlite3下,将D:\sqlite3加入环境 ...

  5. 土办法 填充NAS空间

    最近需要把一个1.8TB的NAS 塞满,网上东拼西凑,找了个办法 写脚本,然后保存为tt40.sh, 并上传到NAS中. #!/bin/sh echo "space2->space11 ...

  6. Github上搭建个人博客记录

    1.注册,用户名一定要起好,别随便起. 2.登录后,新建一个仓库repositories.new一个. 命名为用户名.github.io.如果发现不一样进Settings修改,rename. 3.仓库 ...

  7. opencv3.2将中文输出到图片上

    opencv自带的putText函数无法输出utf8类型的字符,因此无法将中文打印到图片上.用这篇文章的freetype可以实现中文输出,但是需要将字符解码转码比较麻烦,而Pillow的Image函数 ...

  8. SpringMVC由浅入深day01_2springmvc入门程序

    2 入门程序 2.1 需求 以案例作为驱动. springmvc和mybaits使用一个案例(商品订单管理). 功能需求:商品列表查询 2.2 环境准备 数据库环境:mysql5.5 先导入sql_t ...

  9. 5 -- Hibernate的基本用法 --4 9 其他常用的配置属性

    Hibernate其他常用的配置属性: ⊙ hibernate.show_sql : 是否在控制台输出Hibernate持久化操作底层所使用的SQL语句.只能为true和false两个值. ⊙ hib ...

  10. 【转载】浅谈TDD、BDD与ATDD软件开发

    转载自(此处仅供学习):http://blog.csdn.net/zhenyu5211314/article/details/22033295 1. 首先了解一下这三个开发模式都是什么意思: TDD: ...