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所在的路径,输入指令

python 复制代码
pip3 install "mod_wsgi-4.7.1-cp36-cp36-win_amd64.whl"

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

python 复制代码
mod_wsgi-express module-config

我这里的三行代码是(每个人根据自己的文件路径会有不同)

python 复制代码
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在的路径,输入指令

python 复制代码
httpd.exe -k install -n "apache2.4"

出现successfully installed说明服务创建成功。

2.2.4 对Apache进行部署

按顺序打开文件夹,找到httpd.conf进行更改

注意这里一共有三大类需要进行更改。

第一类,Apache的安装路径

第二类,所要部署的IP地址以及端口号

这里需要强调两点

第一点ip地址的查看方式。

win+R,输入cmd,打开终端,输入以下指令

python 复制代码
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 复制代码
python manage.py collectstatic

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

python 复制代码
WSGIApplicationGroup %{GLOBAL}

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

相关推荐
我命由我1234522 分钟前
Function Calling 模型
人工智能·python·学习·ai·学习方法·ai编程·ai写作
XMXFS1 小时前
小红书推荐算法底层逻辑解析:用数据思维做内容优化
python·算法·新媒体运营·推荐算法
hans7748829681 小时前
仅根据BMI反推身高和体重?还真能做到!只需要简单的数论知识~
python·数学
追光者492 小时前
我把 55 篇自动化日志翻了一遍:最容易出事的是这 4 个地方
python·自动化运维
2601_962885722 小时前
如何用 Python计算 CR能量指标(中间意愿指标)?
开发语言·python
打工仔折腾 AI2 小时前
LangChain 工具调用实战:从 Tool 定义到 Agent 执行链路拆解
java·前端·人工智能·后端·python·langchain·ai agent 实战
hhb_6182 小时前
Flask+SQLite实现用户管理接口
python·sqlite·flask
全栈练习生2 小时前
RAG 准确率保障的体系化方案
python·ai
秋秋小事2 小时前
python 基础知识总结(一)
python
蜗牛互联网2 小时前
Python调用Gemini Structured Outputs实现工单路由门禁
java·开发语言·人工智能·python