1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Django + Uwsgi + Nginx 的生产环境部署

Django + Uwsgi + Nginx 的生产环境部署

时间:2019-04-24 04:10:34

相关推荐

Django + Uwsgi + Nginx 的生产环境部署

在centos 7中安装python3环境

# 1、yum更新yum源yum update# 2、安装Python 3.7所需的依赖否则安装后没有pip3包yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gcc make# 3、在官网下载所需版本,这里用的是3.7.0版本wget /ftp/3.7.0/Python-3.7.0.tgz

安装python

# 1、yum更新yum源yum update# 2、安装Python 3.7所需的依赖否则安装后没有pip3包yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gcc make# 3、在官网下载所需版本,这里用的是3.7.0版本wget /ftp/3.7.0/Python-3.7.0.tgz2、安装Python# 1、解压tar -xvf Python-3.7.0.tgz#2、配置编译cd Python-3.7.0./configure --prefix=/usr/local/python3 # 配置编译的的路径(这里--prefix是指定编译安装的文件夹)./configure --enable-optimizations # 执行该代码后,会编译安装到 /usr/local/bin/ 下,且不用添加软连接或环境变量make && make installln -s /usr/local/python3/bin/python3 /usr/bin/python3 # 添加软连接ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3#3、将/usr/local/python3/bin加入PATH[root@linux-node1 testProj]# vim /etc/profile#然后在文件末尾添加export PATH=$PATH:/usr/local/python3/bin[root@linux-node1 testProj]# source /etc/profile # 修改完后,还需要让这个环境变量在配置信息中生效,执行命令

初始化Django项目

[root@linux-node1 /]# pip3 install django==2.0.4[root@linux-node1 /]# mkdir /code/[root@linux-node1 /]# cd /code/[root@linux-node1 testProj]# django-admin startproject mmcsite[root@linux-node1 testProj]# cd /code/mmcsite[root@linux-node1 testProj]# python3 manage.py runserver 0.0.0.0:8000# 页面中访问:http://192.168.56.11:8000/

安装uwsgi 并使用uWSGI启动这个服务

安装使用uwsgi

'''1. 安装uwsgi'''[root@linux-node1 /]# pip3 install uwsgi[root@linux-node1 /]# ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi'''2. 配置uwsgi.ini启动文件'''[root@linux-node1 /]# vim uwsgi.ini[uwsgi]socket = 0.0.0.0:3031chdir = /code/mmcsitewsgi-file = /code/mmcsite/wsgi.pyprocesses = 5threads = 30master = truedaemonize = /code/mmcsite/uwsgi.logmodule=mmcsite.wsgipidfile = /code/mmcsite/uwsgi.pidchmod-socket=666enable-threads = true'''3. 使用uwsgi启动django:一定要在这个项目目录中'''[root@linux-node1 /]# uwsgi --http 192.168.56.11:80 --file mmcsite/wsgi.py --static-map=/static=static访问项目:http://192.168.56.11

配置文件

[root@linux-node2 demo2]# vim /code/mmcsite/uwsgi.ini # uwsgi.ini文件[uwsgi]socket = 0.0.0.0:3031 # 指定socket监听的地址和端口chdir = /code/mmcsite # 项目路径 wsgi-file = /code/mmcsite/wsgi.py# django的wsgi文件路径processes = 5# 启动五个进程threads = 30 # 每个进程启动30个线程master = truedaemonize = /code/mmcsite/uwsgi.log # 日志存放路径module=mmcsite.wsgi# 使用mmcsite.wsgi模块pidfile = /code/mmcsite/uwsgi.pid# uwsgi启动进程id存放路径chmod-socket=666 # socket权限enable-threads = true # 允许用内嵌的语言启动线程,这将允许你在app程序中产生一个子线程

安装配置nginx

安装nginx

'''1. 配置nginx YUM源'''[root@linux-node1 /] vim /etc/yum.repos.d/nginx.repo[nginx]name=nginx repo# 下面这行centos根据你自己的操作系统修改比如:OS/rehel# 6是你Linux系统的版本,可以通过URL查看路径是否正确baseurl=/packages/centos/7/$basearch/gpgcheck=0enabled=1'''2. 安装nginx'''[root@linux-node1 /] yum -y install nginx

配置nginx

[root@linux-node1 /]# vim /etc/nginx/conf.d/django.conf server {listen 8888;server_name 192.168.56.11;client_max_body_size 5M;gzip on;gzip_buffers 32 4K;#压缩在内存中缓冲32块 每块4Kgzip_comp_level 6 ;#压缩级别 推荐6gzip_min_length 4000;#开始压缩的最小长度4bitgzip_types text/plain application/json application/javascript application/x-javascript application/css application/xml application/xml+rss text/javascript application/x-httpd-php image/jpeg image/gif image/png image/x-ms-bmp;location / {include uwsgi_params;uwsgi_pass 127.0.0.1:3031;uwsgi_ignore_client_abort on;}error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}

启动项目

[root@linux-node1 demo2]# systemctl restart nginx # 开启nginx[root@linux-node1 demo2]# uwsgi --ini uwsgi.ini# 启动uwsgi的django项目# http://192.168.56.11:8888/ 访问项目[root@linux-node1 demo2]# uwsgi --stop uwsgi.pid # 关闭uwsgi

参考来自于此

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。