菜单
个人主页
(当前)
写文章
浏览博文
    
搜索
登录
微信公众号
站点链接
半根蓝白个人主页
CSDN
Github
友情链接
摘繁华个人博客
博文目录
#custom-toc-container
windows10+apache2.4+django 部署
BGLB0324
2021年11月13日 17:22
最后发布:2021年11月13日 17:22
首发:2021年11月13日 17:08
408
1
博文分类:
运维安全
博文标签:
apache
django
版权声明:本文为博主[BGLB0324]原创文章,遵循
CC 4.0 BY
版权协议,转载请附上原文出处链接和本声明。
本文链接:
http://blog.bglb.work/blog/blog-detail/64
版权
# windows10+apache2.4+django 部署 > 部署过程中, 踩了蛮多坑 记录一下吧 ## 环境介绍 1. python 3.7 2. apache 2.4.15 3. django 2.1 4. windows10 ## 安装apache2.4 最新版的apache2.4 : [httpd-2.4.51-win64-VS16](https://www.apachelounge.com/download/VS16/binaries/httpd-2.4.51-win64-VS16.zip "httpd-2.4.51-win64-VS16") 1. 下载后解压 ![图片alt](https://img.bglb.work/img/1636788017309.png?x-oss-process=style/blog_img#pic_center '下载后解压') 2. 将`Apache24` 文件夹复制到自己的`安装路径` 这里我直接放到了C盘 `C:/Apache24`, 因为目前线上就是放在C盘 可能是为了方便装机吧 先看看里面都有些什么东西吧 ![图片alt](https://img.bglb.work/img/1636788463100.png?x-oss-process=style/blog_img#pic_center 'apache 目录') 3. 添加 `apache` 环境变量 > APACHE_HOME=C:\Apache24 > > PATH= %APACHE_HOME%; %APACHE_HOME%\bin > > 环境变量直接添加到系统环境变量, 这里就不贴图了 4. 安装到windows服务 ```cmd # 安装 httpd -k install -n 服务名称 # 启动 1. httpd -k start [stop, restart] # 或者 2. net start 服务名称 ``` 启动方法有很多 还可以打开 bin 目录下的 `ApacheMonitor.exe` 不过双击之后他不会弹出来, 会在右下角的托盘里面 然后 双击托盘图标 就可以打开 长这个样子 ![image-20211113155346657](https://img.bglb.work/img/20211113155353.png?x-oss-process=style/blog_img) **如果启动过程中没有报错, 就可以打开浏览器, 访问一下 127.0.0.1 不出意外 就可以看到 It’s Work! ** 到此为止, Apache 安装完成 ## 部署Django 1.下载 `mod_wsgi` 使用 pip 安装 `mod_wsgi.whl`文件, 使用 pip 多的话 应该知道 > 为什么要安装呢? 具体我也不知道 类似于 `linux` 上的 `uwsgi` > > 如果之前没有安装过, 照着做就行了,踩坑的话 多踩踩很有必要的 **mod_wsgi下载地址: ** [mod_wsgi下载](https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi) 打开上面的链接 搜索与你python 版本对应的 ![image-20211113161047618](https://img.bglb.work/img/20211113161047.png?x-oss-process=style/blog_img) 这里要注意一下, 如果你使用 python 虚拟环境 部署django 的话 需要 在虚拟环境里面安装 (推荐使用虚拟环境) ```cmd # 进入虚拟环境 ...\env\Scripts\activate pip install 下载的mod_wsgi路径 # 安装完之后 最好查看一下成功与否 pip list | findStr "mod_wsgi" ``` 2.修改Apache 默认配置文件 `C:\Apache24\conf\httpd.conf` 修改之前 在django 的虚拟环境里面 需要 运行一下 `mod_wsgi-express module-config` 运行之后 会返回三条路径 像这样 ```cmd LoadFile "C:/Users/Administrator/AppData/Local/Programs/Python/Python37/python37.dll" LoadModule wsgi_module "e:/development/django_project/env/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd" WSGIPythonHome "e:/development/django_project/env" ``` **一定要自己生成的, 不要用我的!** 把上面的路径 复制 到 `apache` 的配置文件中 并且 修改 `Listen` 和 `ServerName` ```shell ...... Define SRVROOT "C:/Apache24" ServerRoot "${SRVROOT}" ...... #Listen 12.34.56.78:80 # 这里我修改为9000 Listen 9000 ...... ServerName localhost:9000 ...... # 加载 mod_wsgi LoadFile "C:/Users/Administrator/AppData/Local/Programs/Python/Python37/python37.dll" LoadModule wsgi_module "e:/development/django_project/env/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd" WSGIPythonHome "e:/development/django_project/env" # 设置工程路径 WSGIPythonPath E:\development\django_project # 设置Django项目中的wsgi路径 WSGIScriptAlias / E:\development\django_project\django_project\wsgi.py # 设置wsgi文件权限
Require all granted
# 设置静态文件路径 做路径映射 Alias /assets E:\development\online\django_project\static # 设置静态路径权限
AllowOverride None Options None Require all granted
``` 3.重启Apache >`httpd -k resfart` > >上面这条命令 运行之后没有任何提示 > >`net stop apache24` > >`net start apache24` > >上面这两条 有相关提示 至少会告诉你 启动成功与否 > >如果失败 就去 `C:\Apache24\logs` 目录 查看 相关的`error`日志 好了 回到正题 往往这个时候 如果不出意外的话 就应该出意外了! 我的Apache在这里 无法启动, 日志如下:
Fatal Python error: initfsencoding: unable to load the file system codec ModuleNotFoundError: No module named 'encodings'
看到这个 感觉到很熟悉 估计是之前 折腾u盘的python 环境时见到过 因为这个encdings 是python 自带的库 所以 我去本机python路径下查看了这个库的路径 并把它添加在了 系统环境变量里面 但是 还是没能解决 最后 是找到了 这篇 [window2008下,apache+mod_msgi+flask出现问题,请大侠帮忙瞧瞧](https://bbs.csdn.net/topics/392464517) 他是添加了 `PYTHONHOME` 和 `PYTHONPATH` PYTHONHOME="C:\Users\Administrator\AppData\Local\Programs\Python\Python37" PYTHONPATH="C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Lib" 添加完之后 需要重启机器 不知道为什么????? 我尝试之后就可以启动了 ## 部署结束 当时部署遇到的问题 现在已经有点忘记了, 还是前天的事情, 脑子真的不行了 有时间 再尝试一下 apache 多站点部署
点赞
1
打赏
暂时没有评论
请
登录
后评论
暂时没有评论