学习项目部署Django+uwsgi+Nginx生产环境部署

时间:2021-09-30 01:47:53

绪论


项目生产环境部署,是很重的一个知识点。第一,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. aop aspect

    所以“<aop:aspect>”实际上是定义横切逻辑,就是在连接点上做什么,“<aop:advisor>”则定义了在哪些连接点应用什么<aop:aspect>.Sp ...

  2. FragmentStatePagerAdapter&period;notifyDataSetChanged不刷新页面的解决的方法

    公司做医疗产品的,显示操作用的是android.所以我就用上下两个部分大致是固定的,仅仅有中间会有6个页面的切换,当中会有两个用户的切换.即普通用户和管理员用户,图片能够大致展示一下 其他页面是同样的 ...

  3. php session 管理

    function do_login(){ //获取用户名和密码信息,和数据库中比对 echo 111111111; dump($_POST); dump($_SESSION); echo 222222 ...

  4. saltstack布署实践 【配置文件管理-state模块】

    那如果要批量修改被管机器的某个配置文件怎么做?以下给出一个最简单案例.   先在主管机器master上查看/etc/salt/master配置文件 看到有以下几行配置文件   # file_roots ...

  5. Cox回归模型【生存分析】

    参考:<复杂数据统计方法--基于R的应用> 吴喜之 在生存分析中,研究的主要对象是寿命超过某一时间的概率.还可以描述其他一些事情发生的概率,例如产品的失效.出狱犯人第一次犯罪.失业人员第一 ...

  6. POJ--3258 River Hopscotch &lpar;最小值最大化C&plus;&plus;&rpar;

    River Hopscotch Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 15273   Accepted: 6465 ...

  7. Python 3 生成手写体数字数据集

    0.引言 平时上网干啥的基本上都会接触验证码,或者在机器学习学习过程中,大家或许会接触过手写体识别/验证码识别之类问题,会用到手写体的数据集: 自己尝试写了一个生成手写体图片的python程序,在此分 ...

  8. python&plus;pycahrm&plus;windows环境准备

    python安装教程和Pycharm安装详细教程 首先我们来安装python 1.首先进入网站下载:点击打开链接(或自己输入网址https://www.python.org/downloads/),进 ...

  9. python生产环境部署

    Python部署web开发程序的几种方法 fastcgi ,通过flup模块来支持,在nginx里对应的配置指令是 fastcgi_pass http,nginx使用proxy_pass转发,这个要求 ...

  10. php mysql&lowbar;connect pmysql&lowbar;connect区别

    <?php        mysql_pconnect('192.168.75.128', 'root', 'root');        mysql_close();        sleep ...