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}

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

相关推荐
酷飞飞1 天前
Python网络与多任务编程:TCP/UDP实战指南
网络·python·tcp/ip
数字化顾问1 天前
Python:OpenCV 教程——从传统视觉到深度学习:YOLOv8 与 OpenCV DNN 模块协同实现工业缺陷检测
python
学生信的大叔1 天前
【Python自动化】Ubuntu24.04配置Selenium并测试
python·selenium·自动化
计算机编程小央姐1 天前
跟上大数据时代步伐:食物营养数据可视化分析系统技术前沿解析
大数据·hadoop·信息可视化·spark·django·课程设计·食物
诗句藏于尽头1 天前
Django模型与数据库表映射的两种方式
数据库·python·django
智数研析社1 天前
9120 部 TMDb 高分电影数据集 | 7 列全维度指标 (评分 / 热度 / 剧情)+API 权威源 | 电影趋势分析 / 推荐系统 / NLP 建模用
大数据·人工智能·python·深度学习·数据分析·数据集·数据清洗
扯淡的闲人1 天前
多语言编码Agent解决方案(5)-IntelliJ插件实现
开发语言·python
moxiaoran57531 天前
Flask学习笔记(一)
后端·python·flask
秋氘渔1 天前
迭代器和生成器的区别与联系
python·迭代器·生成器·可迭代对象
Gu_shiwww1 天前
数据结构8——双向链表
c语言·数据结构·python·链表·小白初步