Django项目部署:uwsgi+daphne+nginx+vue部署

一、项目情况

项目根目录:/mnt/www/alert

虚拟环境目录:/mnt/www/venv/alert

激活虚拟环境:source  /mnt/www/venv/alert/bin/activate

二、具体配置

1、uwsgi启动配置

根目录下:新增 uwsgi.ini

注意:使用9801端口与nginx通信

[uwsgi]
#nginx与项目在同一服务器时,使用socket方式,可以提高性能
socket=0.0.0.0:9801
# nginx与项目不在一个服务器时,uwsgi直接作为web服务器使用
#http=127.0.0.1:8010
# 配置工程目录
chdir=/mnt/www/alert
# 配置项目的wsgi目录,相对于项目根目录,(绝对路径/mnt/www/alert/alert/wsgi.py)
wsgi-file=alert/wsgi.py
#虚拟环境目录(下级目录有bin)
virtualenv =/mnt/www/venv/alert
#配置进程,线程信息
listen=1024
processes=2
threads=4
enable-threads=True
master=True
pidfile=uwsgi.pid
daemonize=uwsgi.log
#django项目修改完文件后自动重启
py-autoreload=1

启动命令:

#激活虚拟环境
source /mnt/gs/venv/yd/bin/activate  #启动项目
uwsgi --ini uwsgi.ini

方式1:看是否有相关进程

ps -aux | grep uwsgi 

方式2:看端口的tcp是否处于监听状态

netstat  -tuln | grep 9801

2、daphne启动配置

项目根目录下 :新增 start_daphne.sh

注意:使用9802端口与nginx通信

#!/bin/bash# 设置项目根目录
PROJECT_ROOT="/mnt/www/alert"# 设置 Python 虚拟环境路径(ls 可以看到bin目录)
VENV_PATH="/mnt/www/venv/alert"# 设置 定时器脚本的 启动命令
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  start_daphne.sh

启动: sh start_daphne.sh start

停止:sh start_daphne.sh stop 

重启:sh start_daphne.sh restart

3、配置nginx

注意:当前系统对外开放的端口是80端口

server {listen       80;server_name  www.xxx.com;#vue打包后的代码location / {root   /mnt/www/html/dist;index  index.html index.htm;}#后端api接口: uwsgi使用socket=0.0.0.0:9801location /api {include /etc/nginx/uwsgi_params;uwsgi_pass localhost:9801;}#后端websocket接口location /ws {#所有的websocket的路由都设置socket开头proxy_pass http://localhost: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;}#静态文件代理location ~ ^/(api|)static {alias /mnt/www/alert/static;}#客户资源代理location ~ ^/(api|)media {alias /mnt/www/alert/media;}}

启动:

sudo systemctl  start  nginx.service

停止:

sudo systemctl  stop  nginx.service

重启:

sudo systemctl  restart  nginx.service

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/365149.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis实战-添加商户缓存

为什么要使用缓存 言简意赅:速度快,好用缓存数据存储于代码中,而代码运行在内存中,内存的读写性能远高于磁盘,缓存可以大大降低用户访问并发量带来的服务器读写压力实际开发中,企业的数据量,少…

短视频矩阵系统:打造品牌影响力的新方式

一、短视频矩阵概念 短视频营销革命:一站式解决策略!短视频矩阵系统是一款专为企业营销设计的高效工具,旨在通过整合和优化众多短视频平台资源,为企业呈现一个全面的短视频营销策略。该系统致力于协助企业以迅速且高效的方式制作…

从万里长城防御体系看软件安全体系建设@安全历史03

长城,是中华民族的一张重要名片,是中华民族坚韧不屈、自强不息的精神象征,被联合国教科文组织列入世界文化遗产名录。那么在古代,长城是如何以其复杂的防御体系,一次次抵御外族入侵,而这些防御体系又能给软…

无人机挂载抛弹吊舱技术详解

随着无人机技术的飞速发展,无人机在军事、安全、农业、环保等领域的应用越来越广泛。其中,挂载抛弹吊舱的无人机在精确打击、应急处置等场合发挥着重要作用。抛弹吊舱技术通过将弹药、物资等有效载荷挂载在无人机下方,实现了无人机的远程投放…

MySQL表解锁

查看锁信息 show full processlist 如果一个表被锁定了,会有一个 “Waiting for table metadata lock” 的提示,表明该表正在等待锁定。 解锁表 删除state上有值的事务 kill query 事务id 表解锁完成

LDM论文解读

论文名称:High-Resolution Image Synthesis with Latent Diffusion Models 发表时间:CVPR2022 作者及组织:Robin Rombach, Andreas Blattmann, Dominik Lorenz,Patrick Esser和 Bjorn Ommer, 来自Ludwig Maximilian University of Munich &a…

Markdown、Latex编辑小工具

Markdown、Latex编辑小工具 文章说明主要代码效果展示源码下载 文章说明 本文主要为了书写Latex的书写风格,以及了解自己实现一个markdown类型的编辑器的过程;目前实现了当前的效果;书写文章进行记录,方便后续查阅 目前还未添加好…

Linux实用命令练习

目录 一、常用命令 二、系统命令 三、用户和组 四、权限 五、文件相关命令 六、查找 七、正则表达式 八、输入输出重定向 九、进程控制 十、其他命令 1、远程文件复制:scp 2、locate查找 3、which命令 4、设置或显示环境变量:export 5、修…

【.NET全栈】第16章 Web开发

文章目录 前言16.1 HTML概述16.1.1 HTML的基本概念16.1.2 HTML语言的基本元素16.1.3 格式设置16.1.4 超级链接16.1.5 图像16.1.6 表格16.1.7 框架16.1.8 表单 16.2 ASP.NET Web Forms的组织16.2.1 认识ASP.NET16.2.2 Web Forms的组织 16.3 Web服务器组件16.3.1 使用Label和Text…

[AIGC] 深入了解标准与异常重定向输出

在操作系统和编程环境下,有时我们需要更加精细地控制程序的输入或输出过程,这就涉及到了标准输入输出流,以及重定向的概念。接下来,我们将详细介绍标准输出、标准错误输出,以及如何进行输出重定向。 文章目录 1. 标准输…

网线直连电脑可以上网,网线连tplink路由器上不了网

家里wifi网络连不上好几天了,用网线直连电脑可以上网,但网线连tplink路由器wan口上不了网,无Internet连接,网线连lan口可以电脑上网,手机上不了。 后来发现网线的主路由用的192.168.0.1,我的路由器wan口自…

将某列缺失分隔符的文字读入 Excel

有个逗号分隔的 txt,共 10 列,第 3 列有时候缺少分隔符,导致该列缺失,数据不齐只剩 9 列。比如最后两行: 01-0104-0133,MAYO, RONIE #2,202403,2024-03-21 22:51:43.000,1449.49,0.00,0.00,08,6CC6BDAC7E45 17-1782-02…

百强韧劲,进击新局 2023年度中国医药工业百强系列榜单发布

2024年,经济工作坚持稳中求进、以进促稳、先立后破等工作要求。医药健康行业以不懈进取的“韧劲”,立身破局,迎变启新。通过创新和迭代应对不确定性,进化韧性力量,坚持高质量发展,把握新时代经济和社会给予…

ubuntu 编译交叉环境arm 版本的openssl库

一,下载源码 [ Old Releases ] - /source/old/index.html 二,设置交叉编译环境 我的交叉环境是RV1126开发板,/home/rpdzkj/development/cross-compile-tools/rv1126/ 对应的是我电脑里的RV1126开发板的交叉环境下的gc g等路径存放 设置环境…

【C++深度探索】继承机制详解(一)

hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页:大耳朵土土垚的博客 &#x1…

43.三倍游戏

上海市计算机学会竞赛平台 | YACSYACS 是由上海市计算机学会于2019年发起的活动,旨在激发青少年对学习人工智能与算法设计的热情与兴趣,提升青少年科学素养,引导青少年投身创新发现和科研实践活动。https://www.iai.sh.cn/problem/390 题目描述 三倍游戏是一种单人游戏。玩…

忍法:声音克隆之术

前言: 最近因为一直在给肚子里面的宝宝做故事胎教,每天(其实是看自己心情抽空讲下故事)都要给宝宝讲故事,心想反正宝宝也看不见我,只听我的声音,干脆偷个懒,克隆自己的声音&#xf…

【SpringBoot】SpringBoot应用Yaml 解析冒号(:)字符串踩坑排查记录

文章目录 一、现象二、原因排查三、怎么办 一、现象 某次在配置中心Nacos上配置了一个字符串,采用YAML格式,如下: id: 114:1代码中采用的是Value注解的形式获取配置: Value("${id}")代码中预期获取的是字符串&#x…

微服务中的Docker详细学习

Docker的个人理解 首先我对于Docker的理解分为两部分,第一是对名字上的理解,我们都知道docker的英文翻译是“码头工人”的意思,所以我们也可以理解为docker是码头上的一个个集装箱的使用。这也与他的图标很相似。其次我是对于其功能上的理解&…

ASP.Net.WebAPI和工具PostMan

1.WebAPI概述 1.1 WebAPI WebAPI 是一种传统的方式,用于构建和暴露 RESTUI风格的Web服务。它提供了丰富的功能和灵活性,可以处理各种HTTP请求,并支持各种数据格式,如JSON、XML等。 WebAPI使用控制器(Controllers)和动作方法(Ac…