1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python前后端分离项目部署_nginx+uwsgi+supervisor部署django前后端分离项目

python前后端分离项目部署_nginx+uwsgi+supervisor部署django前后端分离项目

时间:2019-08-17 22:43:08

相关推荐

python前后端分离项目部署_nginx+uwsgi+supervisor部署django前后端分离项目

以下内容为原创,转载请注明出处!

先前一直用的apache部署django项目,查看链接地址:/article/22.html 。这次帮同事用nginx部署服务,特此记录下过程:

环境:CentOS Linux release 7.2.1511 (Core)

django2.1(项目名称box,项目地址: /opt/box/box)

Vue

python3.6

uwsgi配置,wsgi文件目录/opt/box/box/box/wsgi.py[uwsgi]

#项目目录

chdir=/opt/box/box/

#指定项目的application

module=box.wsgi:application

#指定sock的文件路径,为什么用sock不用下面http,是因为性能问题,二进制肯定比http协议快

socket=/opt/box/box/uwsgi.sock

#进程个数

workers=2

pidfile=/opt/box/box/uwsgi.pid

#指定IP端口,服务器内网IP

#http=172.16.0.3:9003

#指定静态文件

static-map=/static=/opt/box/box/static

#指定权限

chmod-socket=777

#启动uwsgi的用户名和用户组

uid=root

gid=root

#启用主进程

master=true

#自动移除unixSocket和pid文件当服务停止的时候

vacuum=true

#序列化接受的内容,如果可能的话

thunder-lock=true

#启用线程

enable-threads=true

#设置自中断时间

harakiri=30

#设置缓冲

post-buffering=4096

#设置日志目录

#daemonize=/opt/box/box/log/uwsgi.log

后台接口nginx配置,vim /etc/nginx/conf.d/box_api.confserver{

listen9003;

;

access_log/var/log/nginx/access.logmain;#Nginx日志配置

location/{

includeuwsgi_params;

uwsgi_connect_timeout30;

uwsgi_passunix:/opt/box/box/uwsgi.sock;#指定uwsgi的sock文件所有动态请求就会直接丢给他

}

#指定静态文件路径

location/static/{

alias/opt/box/box/static/;

indexindex.htmlindex.htm;

}

}

前端vue nginx配置,vim /etc/nginx/conf.d/box_vue.confserver{

listen80;

server_namexxxx.;

#指定vue编译后的dist文件地址

root/opt/box-vue/dist/;

indexindex.html;

location~*^.+\.(jpg|jpeg|gif|png|ico|css|js|pdf|txt){

root/opt/box-vue/dist/;

}

location/{

try_files$uri$uri/@router;

indexindex.html;

}

location@router{

rewrite^.*$/index.htmllast;

}

}

supervisor配置,vim /etc/supervisord.d/box_web.ini[program:box.web]

command=/opt/box/box_env/bin/uwsgi--ini/opt/box/box/uwsgi.ini

numprocs=1

directory=/opt/box/box

stdout_logfile=/opt/box/box/log/supervisord.log

stderr_logfile=/opt/box/box/log/supervisord.log

stopasgroup=true

killasgroup=true

autostart=true

autorestart=true

startsecs=10

stopwaitsecs=120

priority=998

environment=PYTHONPATH='$PYTHONPATH:/opt/box/box'

启动supervisor:supervisord -c /etc/supervisord.conf

supervisorctl

start box.web

启动nginx:/bin/systemctl reload nginx.service

查看:后台api地址::9003

前端地址(项目网页入口):

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