当前位置: 首页 > news >正文

Windows环境下Apache安装部署说明及常见问题解决

一、软件准备
1.1 Python的下载与安装
见博客
链接: Python下载安装
1.2 Pycharm的下载与安装
见博客
链接: pycharm安装
1.3 Mysql的下载与安装
见博客
链接: MySQL安装
1.4 Navicat的下载与安装
可参考软件安装管家。
解释说明:Pycharm是Python的集成编译环境,Navicat是用于管理Mysql的。上述这些软件用于基于Mysql数据库下,基于Django框架下的网站开发。如果你想让你的网站能够在局域网下运行起来,并让处于该局域网下的其他人也能够访问,首先要确保在终端输入python manage.py runserver,在本地127.0.0.1下能够运行,接下来就是通过Apache将你所设计的网站部署在局域网下。
二、Apache部署
2.1 mod_wsgi下载与安装
2.1.1 下载mod_wsgi
这里一定要记住的是下载与你python版本匹配的下载mod_wsgi。
链接: Apache下载地址
在这里插入图片描述
2.1.2 注意一定要把下载的whl文件复制到你为你项目创建的虚拟环境下,这里可能因为每个人使用的环境不同而不同,有的是python环境,而有的是conda环境,无论如何,都要放在你为你项目创建的虚拟环境下的script文件夹下,方便下一步在虚拟环境下安装这个包。
2.1.3 win+R,输入cmd,打开终端,cd进whl所在的路径,输入指令

pip3 install "mod_wsgi-4.7.1-cp36-cp36-win_amd64.whl"

2.1.4 显示Successful installed mod_wsgi-4.7.1,之后继续输入指令,会出现三行代码,一定要记录下这三行代码,便于后面Apache里文件的更改。

mod_wsgi-express module-config

在这里插入图片描述
我这里的三行代码是(每个人根据自己的文件路径会有不同)

LoadFile "D:/Anaconda/envs/wangyekaifapytorch/python36.dll"
LoadModule wsgi_module "D:/Anaconda/envs/wangyekaifapytorch/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "D:/Anaconda/envs/wangyekaifapytorch"

2.1.5 mod_wsgi安装成功。
2.2 Apache下载与安装
2.2.1下载Apache
链接: Apache下载地址
选择最新的版本进行下载。
在这里插入图片描述
2.2.2 我们对下载下来的压缩包进行解压
在这里插入图片描述
解压之后,打开之后的样子
在这里插入图片描述
2.2.3 win+R,输入cmd,打开终端,cd进所Apache24文件夹下的bin在的路径,输入指令

httpd.exe -k install -n "apache2.4"

出现successfully installed说明服务创建成功。
2.2.4 对Apache进行部署
按顺序打开文件夹,找到httpd.conf进行更改
在这里插入图片描述
在这里插入图片描述
注意这里一共有三大类需要进行更改。
第一类,Apache的安装路径
在这里插入图片描述
第二类,所要部署的IP地址以及端口号
在这里插入图片描述
在这里插入图片描述
这里需要强调两点
第一点ip地址的查看方式。
win+R,输入cmd,打开终端,输入以下指令

ipconfig

第二点,端口号不能冲突
第三类,设置工程路径以及虚拟环境的路径。
在这里插入图片描述
这里特别要注意的是:
第一点:如果项目路径或者是虚拟环境里面有例如空格和.这样无效的字符,你可以通过添加引号,如果添加引号仍然无法启动Apache,那建议还是把路径或者文件的名字改一改吧,不要有这样不合法或者无效的字符。
第二点:如何查询httpd.conf的更改是否正确
win+R,输入cmd,打开终端,cd进所Apache24文件夹下的bin在的路径,输入指令httpd-t
在这里插入图片描述
如果报syntax OK,那么就是httpd.conf的更改正确。不正确会给报哪一行不正确,根据索引进行更改即可。
2.2.5 最后我们来启动Apache
我们按照顺序来打开exe软件:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
点击start,如果有绿色小太阳,那么就有80%的概率部署成功了。
如果部署不成功,那么会报错failed,我们就要去检查httpd.conf了,另外一种方法就是打开错误日志,查看错误。错误日志所在位置是
在这里插入图片描述
在这里插入图片描述
可以打开该文件进行查看错误的根源。
2.2.6 其他需要注意的问题
第一个,有时候静态文件加载不出来,那我们需要复制一份静态文件,并在终端里面输入指令

python manage.py collectstatic

第二个,有绿色的小太阳,但是在利用Ip加端口访问网站的时候,一直转圈,那么我们需要在之前的httpd.conf加上这一行代码。

WSGIApplicationGroup %{GLOBAL}

第三个,如果仅仅只能自己访问,那么可能是防火墙的问题,关闭防火墙即可。

相关文章:

Windows环境下Apache安装部署说明及常见问题解决

一、软件准备 1.1 Python的下载与安装 见博客 链接: Python下载安装 1.2 Pycharm的下载与安装 见博客 链接: pycharm安装 1.3 Mysql的下载与安装 见博客 链接: MySQL安装 1.4 Navicat的下载与安装 可参考软件安装管家。 解释说明:Pycharm是Python的集成编译环境,Nav…...

Linux-安装docker-compose

前言:本文建立在服务器中已经存在docker环境的基础上,总结了安装docker-compose过程,以及安装过程中遇到的问题和解决方案。 一、下载docker-compose 在网上找了两种,一种是github官方的,一种是国内的镜像 gitbub官…...

机器学习实验一:KNN算法,手写数字数据集(使用汉明距离)

KNN-手写数字数据集: 使用sklearn中的KNN算法工具包( KNeighborsClassifier)替换实现分类器的构建,注意使用的是汉明距离; 分段解释代码: import os import pandas as pd from Levenshtein import hamming导入所需的库,包括os用于文件操作,pandas用于数据处理,以及hamm…...

Java零基础入门-赋值运算符

前言 Java是一门广泛被应用的编程语言,它被用于开发各种类型的应用程序,从桌面应用程序到企业级后端系统。对于零基础的人来说,学习Java可能会感到有些困难。本文将帮助那些没有编程经验的人了解Java的赋值运算符。 摘要 本文将介绍Java中…...

xshell+xming显示jmeter的gui页面

1.下载和安装xming,下载地址:https://sourceforge.net/projects/xming/ 2.配置xming 记住这个端口,一会要用到 修改进入xming安装目录修改host文件 此处是远程服务器的ip 3.服务器执行vi /etc/ssh/sshd_config,修改成如图所示…...

el-tree业务

<el-form-item label"选择节点" prop"node_ids"><el-checkboxv-if"regionList.length"v-model"selectAll":disabled"selectDisabled":indeterminate"isIndeterminate":show-checkbox"!selectDisabl…...

警惕Mallox勒索病毒的最新变种malloxx,您需要知道的预防和恢复方法。

导言&#xff1a; 恶意软件的威胁不断进化&#xff0c;其中之一是.malloxx勒索病毒。这种病毒可以加密您的文件&#xff0c;并要求您支付赎金以解锁它们。本文91数据恢复将详细介绍.malloxx勒索病毒&#xff0c;包括如何恢复被加密的数据文件以及如何预防这种威胁。如果受感染…...

linux中断下文之tasklet(中断二)

在申请 GPIO 中断时使用 request_irq,但是request_irq绑定的中断服务程序指的是中断上文。在 Linux 内核中&#xff0c;tasklet 是一种特殊的软中断机制&#xff0c;被广泛用于处理中断下文相关的任务。它是一种常见且有效的方法&#xff0c;在多核处理系统上可以避免并发问题。…...

Mysql事务+redo日志+锁分类+隔离级别+mvcc

事务&#xff1a; 是数据库操作的最小工作单元&#xff0c;是作为单个逻辑工作单元执行的一系列操作&#xff1b;这些操作作为一个整体一起向系统提交&#xff0c;要么都执行、要么都不执行&#xff1b;事务是一组不可再分割的操作集合&#xff08;工作逻辑单元&#xff09;&a…...

Kafka-Java四:Spring配置Kafka消费者提交Offset的策略

一、Kafka消费者提交Offset的策略 Kafka消费者提交Offset的策略有 自动提交Offset&#xff1a; 消费者将消息拉取下来以后未被消费者消费前&#xff0c;直接自动提交offset。自动提交可能丢失数据&#xff0c;比如消息在被消费者消费前已经提交了offset&#xff0c;有可能消息…...

Python 训练集、测试集以及验证集切分方法:sklearn及手动切分

目录 方法一 方法二 需求目的&#xff1a;针对模型训练输入&#xff0c;按照6:2:2的比例进行训练集、测试集和验证集的划分。当前数据量约10万条。如果针对的是记录条数达上百万的数据集&#xff0c;可按照98:1:1的比例进行切分。 方法一&#xff1a;切分训练集和测试集&…...

数据结构,及分类(存储分类、逻辑分类)介绍

一、数据结构&#xff1a; 数据是软件开发的核心。在软件开发过程中基本上就是对数据的新增、删除、修改、查看的操作。 如何合理存储数据&#xff0c;如何有效提升数据操作开发效率&#xff0c;都是软件开发中的重中之重。使用合理的数据结构是非常重要的。 1.1简介&#xff…...

Powershell脚本自动备份dhcp数据库

文章目录 为什么要备份DHCP数据库呢&#xff1f;在PowerShell中自动备份DHCP数据库1&#xff0c;创建备份目录2&#xff0c;判断备份路径是否存在3&#xff0c;备份DHCP数据库4&#xff0c;完整自动备份脚本5&#xff0c;安排定期备份 推荐阅读 为什么要备份DHCP数据库呢&#…...

第十六章总结:反射和注解

.1.1&#xff1a;访问构造方法 反射&#xff1a; 1.class类 2.获取构造方法 3.获取成员属性 4.获取成员方法 注解 1.内置注解 2.反射注解 3 创建Class对象的三种方式 1.使用getClass&#xff08;&#xff09;方法 object str new object&#xff08;&#xff09;…...

mysql 切割字符串函数

93、mysql 切割字符串函数 需求&#xff0c;使用in 匹配多个参数&#xff0c;name字段值类型&#xff1a;1234(小明) 结果&#xff1a; select * from user where SUBSTRING_INDEX(REPLACE(name, ), ), (, -1) in ( 小明,小李)使用的函数如下 1、使用SUBSTRING_INDEX函数 SU…...

汽车发动机电机右盖设计

摘要 随着我国微型电子技术和社会经济的发展&#xff0c;目前行业内为满足客户需求出现了大量的电器设备&#xff0c;而大多数的电气设备的重要组成中都有电机&#xff0c;并且电机端盖成为电机研发人员重点关注和研究的对象&#xff0c;逐渐成为电机的重要组成部分&#xff0c…...

ETHERNET/IP从站转CANOPEN主站连接AB系统的配置方法

你还在为配置网关的ETHERNET/IP从站和CANOPEN主站发愁吗&#xff1f;今天来教你解决办法&#xff01; 一&#xff0c;首先&#xff0c;配置网关的ETHERNET/IP从站&#xff0c;需要使用AB系统的配置方法&#xff0c;具体步骤如下 1&#xff0c;使用 AB 系统配置网关的 ETHERNET/…...

人工智能和机器学习:走向智能未来的关键

人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;是当今IT领域中最令人振奋的发展方向之一。从自动驾驶汽车到智能助手&#xff0c;AI技术的应用正在不断扩展&#xff0c;重新定义着我们的生活方式和商业模式。在这个文章中&#xff0c;我们将深入探讨…...

openGauss本地Centos7.6单机安装和简单应用

openGauss本地Centos7.6单机安装和简单应用 openGauss基础环境配置openGauss安装openGauss使用测试openGauss常用命令 openGauss基础环境配置 在VMware Workstation中安装一台 centos7.6 内存&#xff1a;8GB&#xff0c;亲测4GB安装不够 磁盘&#xff1a;测试50GB-100GB够用 …...

LeetCode--1 两数之和

文章目录 1 题目描述2 解题思路2.1 暴力破解2.2 使用 Map 1 题目描述 给定一个整数数组 nums 和一个整数目标值 target, 请你在该数组中找出 和为目标值 target 的那 两个 整数, 并返回它们的数组下标 你可以假设每种输入只会对应一个答案。但是, 数组中同一个元素在答案里不…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列&#xff1f;2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

Java编程之桥接模式

定义 桥接模式&#xff08;Bridge Pattern&#xff09;属于结构型设计模式&#xff0c;它的核心意图是将抽象部分与实现部分分离&#xff0c;使它们可以独立地变化。这种模式通过组合关系来替代继承关系&#xff0c;从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...