在 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 目录下有个压缩包, ...
随机推荐
- Java常见问题-汇总
一.面试到底在问些什么东西? 首先你要知道,面试官的提问和你简历上写的内容是紧密联系的,所以你简历上写的技能一定要会. 一般面试包括下面几方面知识类型: Java基础.多线程.IO与NIO.虚拟机.设 ...
- css3 html5
vscode的使用 什么是HTML5? HTML5新增语义化标签 多媒体标签 <audio>音频标签 谷歌浏览器 把autoplay属性给我们禁用. 两种音频格式的播放 视频标签<v ...
- [oeasy]python0003_ 终端大冒险_终端命令_whoami_pwd_ls
终端大冒险_终端命令_ls_pwd_whoami 回忆 上次 了解基本环境 简称 含义 CLI 命令行界面 GUI 图形用户界面 在 CLI 中 通过终端 连接 远程服务器的 壳(shell) 控制 ...
- oeasy教您玩转python - 9 - # 换行字符
换行字符 回忆上次内容 数制可以转化 bin(n)可以把数字转化为 2进制 hex(n)可以把数字转化为 16进制 int(n)可以把数字转化为 10进制 编码和解码可以转化 encode 编码 ...
- Android SDK Build-tools的版本已经高于Android SDK Platform-tools版本 的解决办法
解决Unknown error: Unable to build: the file dx.jar was not loaded from the SDK folder!最近渐渐迁移到Android ...
- Week 0
Day 0 我8:00与lsh前往济南,在大约11:40左右抵达济南高铁站. 等高铁期间,我在庞大的济南高铁站中找到了我心心念念的而DY却没有的赛百味三明治,买了27的西式火腿三明治和34的香烤牛肉三 ...
- 数据结构:Deuque
#include <iostream> #include <stdio.h> #include <string> using namespace std; stru ...
- 10、SpringMVC之处理Ajax请求
创建名为spring_mvc_ajax的新module,过程参考9.1节和9.5节 10.1.SpringMVC处理Ajax请求 10.1.1.页面请求示例 <input type=" ...
- 国产CPU,国产操作系统UOS——零刻LZX迷你主机 , 显卡驱动安装以及屏幕配置
看网上新闻发现了一款mini电脑--零刻LZX迷你主机 国产兆芯四核八线程 教学家用办公全能王8+256G 该款电脑使用的是国产CPU兆芯,以及国产操作系统UOS,由于价格还不贵就入手玩玩. 商品地址 ...
- vscode远程连接远程主机上的docker —— 设置命令 —— -p 5001:5001
突然有这么一个需求,就是使用windows上vscode远程连接到远端linux主机上的docker容器上做开发,各种配置后发现总是在远端主机上创建project时候失败,最后总是在创建远端主机上do ...