当前位置: 首页> 游戏> 手游 > 设计室内效果图设计_源码网站python免费_网络营销和电子商务的区别_西安百度推广客服电话多少

设计室内效果图设计_源码网站python免费_网络营销和电子商务的区别_西安百度推广客服电话多少

时间:2025/7/10 11:27:12来源:https://blog.csdn.net/weixin_46371752/article/details/142973064 浏览次数:0次
设计室内效果图设计_源码网站python免费_网络营销和电子商务的区别_西安百度推广客服电话多少

一、概述:

在django项目中使用websocket功能,使用daphne部署channels,使用uwsgi部署django项目。

同时支持asgi和wsgi,使用nginx做代理。

前端:Vue

后端:django+channels

asgi服务器:daphne

wsgi服务器:uWSGI

代理:Nginx

二、配置

1、项目基本

虚拟环境位置

使用的python -m venv  命令创建的虚拟环境:

  • 具体使用的虚拟环境位置:/mnt/gs/venv/tniy_sys
  • venv目录下有多个项目的虚拟环境,
  • tiny_sys是当前项目的虚拟环境,进来tiny_sys可以看到bin/目录

前端vue打包

打包生成的dist目录,放到

2、daphne配置

安装包:

pip install daphne

简单的启动命令:

## 先进入虚拟环境
source /mnt/gs/venv/tiny_sys/bin/activate## 启动项目,进入项目根目录下
daphne -b 127.0.0.1 -p 9802 tiny_sys.asgi:application

封装成shell脚本:

实现启动、关闭和重启, daphne.sh

#!/bin/bash# 设置项目根目录
PROJECT_ROOT="/mnt/gs/project/tiny_sys"# 设置 Python 虚拟环境路径(ls 可以看到bin目录)
VENV_PATH="/mnt/gs/venv/tiny_sys"# 设置 定时器脚本的 启动命令
DAPHNE_COMMAND="$VENV_PATH/bin/daphne -b 127.0.0.1 -p 9802 gzgs_alert.asgi:application"# 函数: 启动 Daphne 服务
start_daphne() {cd "$PROJECT_ROOT"#source "$VENV_PATH/bin/activate"echo "Starting Daphne server..."nohup $DAPHNE_COMMAND >/dev/null 2>&1 &  echo "Daphne server started."
}# 函数: 停止 Daphne 服务
stop_daphne() {echo "Stopping Daphne server..."pkill -f "$DAPHNE_COMMAND"echo "Daphne server stopped."
}# 函数: 重启 Daphne 服务
restart_daphne() {stop_daphnestart_daphne
}# 根据命令行参数执行相应的函数
case "$1" instart)start_daphne;;stop)stop_daphne;;restart)restart_daphne;;*)echo "Usage: $0 {start|stop|restart}"exit 1
esac
  • 给文件加可执行权限:chmod +x daphne.sh
  • 启动:sh daphne.sh start
  • 重启:sh daphne.sh restart
  • 停止:sh daphne.sh stop

3、uwsgi配置

安装包:

pip install uwsgi

配置文件

名字:uwsgi.ini

[uwsgi]
# 使用nginx连接时 使用
socket=0.0.0.0:9801
# 直接作为web服务器使用
#http=127.0.0.1:8010
# 配置工程目录
chdir=/mnt/gs/project/tiny_sys
# 配置项目的wsgi目录。相对于工程目录
wsgi-file=tiny_sys/wsgi.py
virtualenv =/mnt/gs/venv/tiny_sys
#配置进程,线程信息
listen=1024
processes=2
#进程内存限制
limit-as=2048
threads=4
enable-threads=True
master=True
pidfile=uwsgi.pid
daemonize=uwsgi.log
#django项目修改完文件后自动重启,可选
py-autoreload=1

4、nginx配置

配置文件:

conf.d/tiny_sys.conf

#das通信使用的
#设定虚拟主机配置
server {#侦听80端口listen 80;server_name  tiny.xxxx.com;#定义服务器的默认网站根目录位置root /mnt/gs/project/dist;#设定本虚拟主机的访问日志#access_log  logs/nginx.access.log  main;#默认请求: 后端api启动端口是9801location / {#倒入了uwsgi的配置include uwsgi_params; client_max_body_size	50m;#连接uwsgi的超时时间# uwsgi_connect_timeout 30; #设定了uwsig服务器位置uwsgi_pass 127.0.0.1:9801;}# 静态资源location /static{alias /mnt/gs/project/tiny_sys/static;}location /media {alias /mnt/gs/project/tiny_sys/media;}
}#带ws
server {server_name tiny.xxxx.com;listen 443 ssl;#定义使用 www.nginx.cn访问ssl on;#定义服务器的默认网站根目录位置ssl_session_timeout 5m; ssl_certificate   /etc/nginx/cert/tiny.xxxx.com.pem;ssl_certificate_key  /etc/nginx/cert/tiny.xxxx.com.key;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;# 系统入口,vue前端打包后的dist目录location / {add_header Access-Control-Allow-Origin *;root /mnt/gs/project/dist/; index index.html;autoindex on;}#后端websocket接口,启动端口是9802location /ws {## channels设置的所有路由都以/socket开头proxy_pass http://127.0.0.1:9802/socket;#nginx配置支持websocket,下面三条proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";#websocket三个超时时间,有默认值proxy_read_timeout 600s;proxy_connect_timeout 60s;proxy_send_timeout 60s;}## 代理到http部署的域名location /api/ {proxy_pass http://tiny.xxxx.com;proxy_redirect off;proxy_cookie_path / /api/;}## 静态资源location /static{alias /mnt/gs/project/tiny_sys/static;}location /media {alias /mnt/gs/project/tiny_sys/media;}
}

关键字:设计室内效果图设计_源码网站python免费_网络营销和电子商务的区别_西安百度推广客服电话多少

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: