【项目部署-apache】windows系统下apache部署django+channels

一、系统环境

1、原生的python3.8.5(默认安装,不更改安装目录),不要使用Anaconda做虚拟环境。

2、在windows系统下需要,mod_wsgi 模块。

创建虚拟环境:(在当前目录下创建名为 gzgs_alert 的虚拟环境)

python -m venv gzgs_alert

激活gzgs_alert 虚拟环境,安装mod_wsgi:

#激活虚拟环境
gzgs_alert\Scripts\activate

1.2、安装mod_wsgi

whl文件下载:

https://download.lfd.uci.edu/pythonlibs/archived/mod_wsgi-4.9.2-cp38-cp38-win_amd64.whl

复制文件到虚拟环境的Scripts目录下:

D:\job\gs\gs_pro\venv\gzgs_alert\Scripts

cmd进入Scripts目录下:执行

#安装模块
pip install mod_wsgi-4.9.2-cp38-cp38-win_amd64-.whl

获取mod_wsgi 安装后,对应的三个信息:复制有用(mod_wsgi-express module-config 也可以查看)

(gzgs_alert) D:\job\gs\gs_pro\gzgs_alert>mod_wsgi-express module-config
LoadFile "C:/Program Files/Python38/python38.dll"
LoadModule wsgi_module "d:/job/gs/gs_pro/venv/gzgs_alert/lib/site-packages/mod_wsgi/server/mod_wsgi.cp38-win_amd64.pyd"
WSGIPythonHome "d:/job/gs/gs_pro/venv/gzgs_alert"

二、django项目情况

1、项目的路径

D:\job\gs\gs_pro\gzgs_alert

2、使用的虚拟环境的路径

D:\job\gs\gs_pro\venv\gzgs_alert

3、wsgi.py 所在路径

D:\job\gs\gs_pro\gzgs_alert\gzgs_alert\wsgi.py

4、asgi.py所在路径

D:\job\gs\gs_pro\gzgs_alert\gzgs_alert\asgi.py

5、channels设置的路由

# 这个变量是存放websocket的路由
socket_urlpatterns = [path('socket/app/<str:channel>/',customers.APPConsumer.as_asgi()),path('socket/gpu/<str:device>/',customers.GPUConsumer.as_asgi()),]

三、apache配置

1、全局配置

Define SRVROOT "D:/apps/daily/Apache24" #apache安装的目录
Listen 0.0.0.0:8000 #绑定的IP和端口
ServerName localhost:8000  #服务名,用来标识的,无特殊作用#要反向代理websocket时,释放这两个注释
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

2、关于django项目的相关配置

### django项目的配置 #### 1.安装wsgi模块后,出来的三行字符,直接复制过来
LoadFile "C:/Program Files/Python38/python38.dll" #依赖的原生python解释器
LoadModule wsgi_module "d:/job/gs/gs_pro/venv/gzgs_alert/lib/site-packages/mod_wsgi/server/mod_wsgi.cp38-win_amd64.pyd" #加上的mod_wsgi模块
WSGIPythonHome "d:/job/gs/gs_pro/venv/gzgs_alert" #python虚拟环境的位置# 2.设置django项目中的wsgi路径
WSGIScriptAlias / D:\job\gs\gs_pro\gzgs_alert\gzgs_alert\wsgi.py# 3.设置django项目的路径
WSGIPythonPath D:\job\gs\gs_pro\gzgs_alert<Directory D:\job\gs\gs_pro\gzgs_alert\gzgs_alert><Files wsgi.py>Require all granted</Files>
</Directory>#4、设置静态文件路径
Alias /static D:\job\gs\gs_pro\gzgs_alert\static
<Directory D:\job\gs\gs_pro\gzgs_alert\static>  AllowOverride None  Options None  Require all granted  
</Directory> #5、配置反向代理websocket请求: 
#请求: ws://localhost:8000/ws/xx/xx 代理到 ws://localhost:8009/socket/xx/xx
ProxyPass /ws ws://localhost:8009/socket
ProxyPassReverse /ws ws://localhost:8009/socketWSGIApplicationGroup %{GLOBAL}

四、启动项目

1、apache会运行django的wsgi服务

2、对于channels ,需要手动启动服务: pip install daphne

#设置配置文件
set DJANGO_SETTINGS_MODULE=gzgs_alert.settings#启动asgi服务
daphne -b 0.0.0.0 -p 8009 gzgs_alert.asgi:application

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

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

相关文章

Tensor张量的属性dim、type、size、shape、numel的使用方法介绍

本文重点 Tensor张量有一些常用的属性&#xff0c;我们可以通过这些基本的属性判断张量的类型&#xff0c;维度&#xff0c;以及元素个数&#xff0c;本节课程我们将对tensor属性进行简单的介绍。 代码 import torch import numpy as np atorch.Tensor(2,3,4) print(a) prin…

【论文笔记 | 异步联邦】 FedBuff

1. 论文信息 Federated Learning with Buffered Asynchronous Aggregation&#xff0c;International Conference on Artificial Intelligence and Statistics&#xff0c;2022&#xff0c;ccfc 2. introduction 2.1.1. 背景&#xff1a; 同步 FL &#xff0c;随训练过程中…

AI视频分析技术的常用开源模型及TSINGSEE青犀AI视频识别分析能力介绍

AI视频分析技术是指利用人工智能技术来对视频数据进行分析和处理的技术。开源模型是指可以免费获取和使用的代码模型&#xff0c;可以帮助开发人员快速构建和部署AI视频分析应用程序。 以下是一些业内常用的用于AI视频分析技术的开源模型&#xff1a; OpenCV&#xff1a;Open…

APP开发_ js 控制手机是否显示状态栏

1 Android 控制手机显示或隐藏状态栏的方法 1.1 使用 View 的 setSystemUiVisibility 方法 这个方法允许设置系统 UI 的可见性&#xff0c;包括状态栏。你可以通过组合不同的标志来实现不同的效果。 示例代码&#xff1a; Override protected void onCreate(Bundle saved…

给字符串添加加粗标签(AC自动机+Python)

可以暴力解决&#xff0c;但是为了锻炼一下ac自动机的编程&#xff0c;我们使用ac自动机。 ac自动机主要维护两个列表&#xff0c;一个列表ch&#xff0c;ch[f][idx]表示从父节点f向idx这个方向走&#xff0c;走到的节点。另一个列表nex&#xff0c;nex[i]表示节点i回跳边的节…

01 【哈工大_操作系统】x86_64 常用寄存器大全

在学习CPU底层技术的时候&#xff0c;难免会接触到各式各样的寄存器。尤其是在使用汇编语言编写操作系统时&#xff0c;寄存器更是必不可少的。因此&#xff0c;这篇文章将来详细聊聊 x86_64 架构中的所有寄存器&#xff0c;按照从 常用->不常用 的顺序来进行介绍。 首先&a…

操作系统的特性

操作系统的性质 并发性 操作系统支持多道程序设计&#xff0c;即允许多个程序并发执行。通过进程管理和调度机制&#xff0c;操作系统能够在单个处理器上模拟出多个任务同时运行的效果&#xff0c;提高系统资源利用率和用户响应体验。并发性也要求操作系统具备进程同步、互斥和…

Spark-机器学习(4)回归学习之逻辑回归

在之前的文章中&#xff0c;我们来学习我们回归中的线性回归&#xff0c;了解了它的算法&#xff0c;知道了它的用法&#xff0c;并带来了简单案例。想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&#xff0c;请…

Syncovery for Mac v10.14.3激活版:文件备份和同步工具

Syncovery for Mac是一款高效且灵活的文件备份与同步工具&#xff0c;专为Mac用户设计&#xff0c;旨在确保数据的安全性和完整性。该软件支持多种备份和同步方式&#xff0c;包括本地备份、网络备份以及云备份&#xff0c;用户可以根据实际需求选择最合适的方案。 Syncovery f…

信息系统项目管理师0062:需求分析(5信息系统工程—5.1软件工程—5.1.2需求分析)

点击查看专栏目录 文章目录 5.1.2需求分析1.需求的层次2.需求过程3.UML4.面向对象分析记忆要点总结5.1.2需求分析 软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。根据IEEE的软件工程标准词汇表,软件需求是指用户解决问题或达到目标所需的条件或能力,是…

【深度学习】烟雾和火焰数据集,野外数据集,超大量数据集,目标检测,YOLOv5

标注了2w张数据集&#xff0c;是目标检测yolo格式的&#xff0c;有火焰、烟雾两个目标。 训练方法看这里&#xff1a; https://qq742971636.blog.csdn.net/article/details/138097481 打包 依据不一样的需求&#xff0c; 详情请查看 https://docs.qq.com/sheet/DUEdqZ2l…

多元函数泰勒公式(含黑塞矩阵)

一元函数的泰勒公式&#xff1a; 接下来&#xff0c;由一元函数有关知识&#xff0c;我们有: 注意这里的dxn中&#xff0c;应把dx看作一个整体&#xff0c;即一个微小变量的n次方 我们接下来推导微分算子&#xff1a; 接下来&#xff0c;把一元泰勒公式转为微分形式: 对于二元…

React.js 3D开发快速入门

如果你对 3D 图形的可能性着迷&#xff0c;但发现从头开始创建 3D 模型的想法是不可能的 - 不用担心&#xff01; Three.js 是一个强大的 JavaScript 库&#xff0c;它可以帮助我们轻松地将现有的 3D 模型集成到 React 应用程序中。因此&#xff0c;在本文中&#xff0c;我将深…

Linux tcp/ip 网路协议栈学习-00 前言

Linux tcp/ip 网路协议栈学习-00 前言 目录 Linux tcp/ip 网路协议栈学习-00 前言 (1)预备知识 (2)前置知识 (3)学习目标 (4)总结 (1)预备知识 好工具事半功倍&#xff0c;做任何事情都需要有方法和工具&#xff0c;同样&#xff0c;阅读 Linux 内核源码也是如此…

ExcelVBA把当前工作表导出为PDF文档

我们先问问Kimi Excel导出为PDF的方法有多种&#xff0c;以下是一些常见的方法&#xff1a; 1 使用Excel软件的内置功能&#xff1a; 打开Excel文件&#xff0c;点击“文件”菜单。选择“另存为”&#xff0c;在“保存类型”中选择“PDF”。设置保存路径和文件名&#xff0c;点…

【机器学习】重塑汽车设计与制造:实例与代码探索

机器学习重塑汽车设计与制造 一、机器学习在汽车设计中的应用二、机器学习在智能制造与生产中的应用 在数字化浪潮的推动下&#xff0c;机器学习技术正逐步成为汽车行业的创新引擎。从概念设计到智能制造&#xff0c;机器学习正以其独特的优势助力汽车产业的革新与发展。本文将…

数据挖掘实验(Apriori,fpgrowth)

Apriori&#xff1a;这里做了个小优化&#xff0c;比如abcde和adcef自连接出的新项集abcdef&#xff0c;可以用abcde的位置和f的位置取交集&#xff0c;这样第n项集的计算可以用n-1项集的信息和数字本身的位置信息计算出来&#xff0c;只需要保存第n-1项集的位置信息就可以提速…

day06 51单片机-点阵led

1 点阵LED 1.1 需求描述 本案例介绍如何使用点阵LED显示一排由左上到右下的斜线。 1.2 硬件设计 1.2.1 硬件原理图 点阵内部的原理图: 点阵LED的原理也非常简单,就是LED点灯。例如,我们想要让13列(阳极端)9行(阴极端)的LED点亮,需要13为高电平,9为低电平。注意对于…

【Git】git revert 命令(撤销 commit 改动)

基本语法 Git revert命令用于通过创建一个新的commit来撤销一个或多个之前的commit。这样做的好处是保持了项目历史的完整性&#xff0c;并且可以将撤销的改动应用到其他分支。 撤销单个commit&#xff1a;如果你只想撤销一个commit&#xff0c;你可以使用以下命令 git revert…

Oracle进阶(3)——索引、权限、角色管理、分区表

一、索引 在 Oracle 数据库中&#xff0c;索引是一种数据结构&#xff0c;用于加快数据库表的数据检索速度。索引存储着表中一个或多个列的值以及对应的行的物理地址或指针。通过使用索引&#xff0c;数据库可以更快地定位到符合特定条件的行&#xff0c;而不必扫描整个表。索引…