在 windows 上部署 django
环境
- Django 4.1.7
- python 3.11.2
- Apache 2.4.46
1:安装配置 Apache
1.1:下载 Apache
Apache官方下载链接
按照系统版本选择对应的,以下是64位操作系统的选择
1.2:解压 Apache
下载完成后,解压到你要部署服务器的文件夹。建议在你要部署服务器的电脑磁盘下建立一个英文目录,如E:\peng\PythonProjects\Apache24
,目录结构如下图所示。
1.3:配置 httpd.conf 文件
打开conf文件夹内的 httpd.conf
文件,进行如下配置。
配置服务器根目录(如下图)
Define SRVROOT "E:/peng/PythonProjects/Apache24"
设置端口(注意端口不要冲突)
查看端口占用的方法:
打开cmd.exe,输入以下命令(右边对应进程pid)
netstat -aon
设置服务器域名
ServerName 127.0.0.1:8001
配置完成,效果图如下
2:安装mod_wsgi
2.1:mod_wsgi概念
官网定义如下
mod_wsgi包实现了一个简单易用的Apache模块,它可以 托管任何支持 Python WSGI 规范的 Python Web 应用程序。该软件包可以通过两种不同的方式安装 根据您的要求。
第一种是作为传统的Apache模块安装到现有的 阿帕奇安装。按照此路径,您将需要手动 配置 Apache 以加载mod_wsgi并将 Web 请求传递给您的 WSGI应用程序。
安装 modwsgi 的第二种方法是使用Python 命令。这会构建并安装modwsgi到您的 Python 中。 安装或虚拟环境。该计划将 然后可用,允许您mod_wsgi使用来自 具有自动生成配置的命令行。这 方法不需要您执行任何 Apache 配置 你自己。
pipmod_wsgi-express
这两种安装类型都适用于生产部署。后者 如果希望使用 Apache和modwsgi在Docker容器中托管您的WSGI应用程序。 在开发过程中使用modwsgi也是更好的选择 您的Python Web应用程序,因为您将能够直接从 您的终端。
mod_wsgi-express
2.2:下载mod_wsgi
下载链接
下载适合自己的mod_wsgi模块,比如我的python版本为3.11.2,电脑为64位,就选择cp311,win_amd64那一项。
2.3:安装mod_wsgi
打开cmd,进入到下载下来的mod_wsgi的路径
输入以下命令
pip install mod_wsgi-4.9.2-cp311-cp311-win_amd64.whl
使用以下命令查看相关信息
mod_wsgi-express module-config
3: 配置django项目
迁移django
将django项目复制一份到apache同级目录下
配置httpd.conf,加入django
在httpd.conf文件末尾加上如图配置
# Django配置
# 添加mod_wsgi.so模块
LoadFile "E:/peng/software/python3112/python311.dll" # python dll文件
LoadModule wsgi_module "E:/peng/software/python3112/Lib/site-packages/mod_wsgi/server/mod_wsgi.cp311-win_amd64.pyd" # mod_wsgi.pyd文件
WSGIPythonHome "E:/peng/software/python3112" # python目录
WSGIApplicationGroup %{GLOBAL}
# 指定django项目的wsgi.py配置文件路径
WSGIScriptAlias / E:/peng/PythonProjects/ShareAndTalk/ShareAndTalk/wsgi.py
# 配置django路径
WSGIPythonPath E:/peng/PythonProjects/ShareAndTalk
<Directory E:/peng/PythonProjects/ShareAndTalk>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
# 配置静态文件
Alias /static E:/peng/PythonProjects/ShareAndTalk/static
<Directory E:/peng/PythonProjects/ShareAndTalk/static>
AllowOverride None
Options None
Require all granted
</Directory>
然后对settings.py做如下更改
import os
# --snip--
DEBUG = False # 先前为True
ALLOWED_HOSTS = ['*']
# --snip--
STATICFILES_DIRS = (
os.path.join(BASE_DIR, '/static/'),
)
STATIC_ROOT = os.path.join(BASE_DIR,'static')
配置完成后,在django的manage.py目录下,输入以下命令收集静态文件
py manage.py collectstatic
4: 注册运行Apache服务
在E:\peng\PythonProjects\Apache24\bin
目录下(Apache\bin目录)
打开cmd,运行以下命令
安装服务:
httpd.exe -k install -n "服务名"
卸载服务:
httpd.exe -k uninstall -n "服务名"
到此就全部完成了,祝贺祝贺
常见坑点,几个小时卡住的教训
django的mdeditor需要额外配置静态路径,如下
<IfModule alias_module>
# --snip--
Alias /链接路径/ 物理路径 # 物理路径千万别忘了最后的斜杠/
在 windows 上部署 django的更多相关文章
- Nginx + FastCGI + Django在windows上部署及nginx常用命令
一般应用都是部署在linux系统上,不会在windows上部署,emmm..所以有兴趣的就瞧瞧吧哈哈 nginx工作原理: nginx用于处理静态文件,动态部分经由fastcgi .scgi或uWSG ...
- 使用Gitblit 在windows 上部署你的Git Server
Gitblit: 在windows 上部署你的Git Server 前言 之前在dudu的文章里看到过用bonobogit 部署在 IIS 7.5 上的Window 平台的git 服务器.学着部署使用 ...
- 在windows上部署使用Redis(摘录)
下载Redis 在Redis的官网下载页上有各种各样的版本,我这次是在windows上部署的,要去GitHub上下载.目前的是2.8.12版的,直接解压,在\bin\release 目录下有个压缩包, ...
- 如何一步步在生产环境上部署django和vue
本文由云+社区发表 本文主要讲述了如何一步步在生产环境上部署django和vue,操作系统默认为centos 说明:后文中出现的以下字符串均表示具体的路径或者名称,含义如下: DJANGO_DIR-- ...
- 在Windows上部署dubbo-admin(监控中心)
在Windows上部署dubbo-admin(监控中心) 2018年11月12日 22:45:13 zzz_er 阅读数:1004 标签: dubbo 更多 个人分类: dubbo 版权声明:本文 ...
- 在windows上部署使用redis出现的问题及解决方法
在windows上部署使用Redis出现问题的解决方法 原文链接:https://www.cnblogs.com/herry52/p/5938902.html 下载Redis 在Redis的官网下载 ...
- 在windows上部署使用Redis出现问题的解决方法
下载Redis 在Redis的官网下载页上有各种各样的版本,我这次是在windows上部署的,要去GitHub上下载.目前的是2.8.12版的,直接解压,在\bin\release 目录下有个压缩包, ...
- mac与windows上部署使用Redis
windows下Redis安装 在Redis的官网下载页上有各种各样的版本,由于redis官网不支持windows,但是我们伟大的windows家族还是召唤了一群小伙伴开发了win版的redis.要在 ...
- CentOS上部署Django+Nginx+Uwsgi环境
在CentOS上部署Django+Nginx+Uwsgi环境 奇谭 2016-09-01 评论 Linux python django nginx uwsgi VirtualEnv的作用:创建隔 ...
- 【转载】在windows上部署使用Redis
下载Redis 在Redis的官网下载页上有各种各样的版本,我这次是在windows上部署的,要去GitHub上下载.目前的是2.8.12版的,直接解压,在\bin\release 目录下有个压缩包, ...
随机推荐
- @ConfigurationProperties 还能这样用
在编写项目代码时,我们要求更灵活的配置,更好的模块化整合.在 Spring Boot 项目中,为满足以上要求,我们将大量的参数配置在 application.properties 或 applicat ...
- PTA数据结构和答案解析
背景:期末数据结构复习题 绪论和线性表 判断题 The Fibonacci number sequence {F N } is defined as: F 0 =0, F 1 =1, F N =F N ...
- MES 与 PLC 的几种交互方式
在 MES 开发领域,想要从 PLC 获取数据就必须要和 PLC 有信号交互.高效准确的获取 PLC 数据一直是优秀 MES 系统开发的目标之一.初涉相关系统开发的工程师往往不能很好的理解 PLC 和 ...
- MDI子窗口+事件与委托的一个例程
1首先,新建WinForm的.NetFramWork的工程并添加2个Form: 2设置 Form1为MDI主窗口: [属性]-- 将以上属性改为 True; 另外,也可以采用代码形式: this.Is ...
- C#-WPF初学
1.新建一个WPF的应用: 2.拖拽控件并布局好: [小技巧]选中控件,点击"回形针"即可让该控件跟随窗口自动调整大小: 3.编写代码: 主程序代码如下: namespace Wp ...
- 适用于PyTorch 2.0.0的Ubuntu 22.04上CUDA v11.8和cuDNN 8.7安装指南
将下面内容保存为install.bash,直接用shell执行一把梭解决 #!/bin/bash ### steps #### # verify the system has a cuda-capab ...
- tp 模型hasOne、hasMany、belongsTo详解
首先,这3个的大致中文意思:hasOne:有一个,加上主谓语应该是 ,A 有一个 BhasMany:有很多,A 有很多 BbelongsTo:属于, A 属于 B这里我们准备3张表来理解他们的关系:u ...
- THINKPHP的CURD是什么意思?
thinkphp的CURD是什么意思? 解释如下: 增:C Create 在thinkphp的代码里面对应的方法是add(); 改:U Update 在thinkphp的代码里面对应的 ...
- 第一章 FFmpeg初体验:在Centos7.9下编译FFmpeg!
FFmpeg 官方网站:https://ffmpeg.org//download.html#build-linux 1.下载源码 1.1 第一种方式,官网上面下载源码包: 截至目前最新的版本是7.0. ...
- redis环境的安装
Redis环境的安装(源码安装),主要分为单机安装与集群安装,无论是单机安装还是集群安装,Redis本身的依赖是必须要有的,本文所采用的Redis版本是redis-5.0.3,所需要的依赖如下: cp ...