vue+nginx+django+channels

1、nginx配置

server {
    listen       80;

    location / {
        root  /usr/share/nginx/html/dist; #vue 项目位置
        index index.html;
    }
    location /api/ {
        proxy_pass http://localhost:8000/; #axios api请求
    }
}
server {
    listen  8000;

    location / {
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:9001; #django uwsgi 接口
            proxy_redirect off;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
    }
}

2、uwsgi配置

SevenDays/wsgi.py

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "SevenDays.settings")

application = get_wsgi_application()

uwsig.ini 启动文件

[uwsgi]
# 对外提供 http 服务的端口
#http = :8000

#the local unix socket file than commnuincate to Nginx   用于和 nginx 进行数据交互的端口
socket = 127.0.0.1:9001

# the base directory (full path)  django 程序的主目录
#chdir = /data/python_workspace/plant/cmdb_v1.1
chdir = /opt/python3/project/SevenDays
# Django's wsgi file
wsgi-file = SevenDays/wsgi.py

# maximum number of worker processes
processes = 4

#thread numbers startched in each worker process
threads = 2

#monitor uwsgi status  通过该端口可以监控 uwsgi 的负载情况
#stats = 0.0.0.0:9191


# clear environment on exit
vacuum          = true

# 后台运行,并输出日志
daemonize = /opt/python3/project/SevenDays/logs/uwsgi.log

#
stats=%(chdir)/uwsgi.statu

3、asgi配置(channels websocket)

SevenDays/wsgi.py

#-*-coding:utf-8-*-
import os
import django
from channels.routing import get_default_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "SevenDays.settings")
django.setup()

4、启动

#!/bin/bash
ops=$1
# websocket地址 0.0.0.0:9002
start(){
    uwsgi --ini /opt/python3/project/SevenDays/uwsgi.ini
    nohup daphne -b 0.0.0.0 -p 9002 SevenDays.asgi:application > /opt/python3/project/SevenDays/logs/websocket.log & 
}
stop(){
    uwsgi --stop /opt/python3/project/SevenDays/uwsgi.pid
    ps -ef | grep daphne | grep -v "grep" | awk '{print $2}' | xargs -I {} kill -9 {}
}
case $ops in
"start")
    start
;;
"stop")
    stop
;;
*)
echo "command: start|stop"
;;
esac

 

转载于:https://my.oschina.net/u/3164044/blog/3079709

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值