栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

windows server2012R2 apache+mod

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

windows server2012R2 apache+mod

一、环境配置

windows server 2012 R2 64位

apache 2.4.53 vc15

mod_wsgi‑4.9.0‑cp37‑cp37m‑win_amd64.whl

Python3.7.9

二、下载apache

https://www.apachelounge.com/download/

 

如上链接点击进去下载apache2.4.53,注意看前面的要求,安装前必须确保vc_redist_x64已经安装好了。

然后在安装vc_redist_x64时需要windows server 2012 R2打上补丁包KB2999226,从微软官网下载这个补丁包,明明下载的是windows server 2012 R2的补丁包但是提示此补丁包不适合此系统,经过查找原来这个补丁包又依赖于KB2919355,然后你又会发现这个又不行,他又依赖于KB2919442。。真是一环扣一环。

从此博客发现的Windows Server 2012 R2 安装补丁KB2999226提示此更新不适合用于计算机 - 友情天 - 博客园

1、下载补丁KB2919442;KB2919355;KB2999226

  请百度查找相关文件上自行下载补丁,这里也有链接:

https://support.microsoft.com/en-us/help/2919442/march-2014-servicing-stack-update-for-windows-8-1-and-windows-server-2

https://support.microsoft.com/en-us/help/2919355/windows-rt-8-1-windows-8-1-windows-server-2012-r2-update-april-2014

Update for Universal C Runtime in Windows

KB2919355这个补丁需要重启电脑生效,另外两个不用重启。

下一步开始正式安装apache2.4.53这个服务了,你可以直接解压然后把Apache2.4整个文件夹考本放到C:Apache2.4目录,也可以放在自己自定义目录

配置httpd.conf配置文件

1、如果放在了C:Apache2.4目录下,Define SRVROOT "C:/Apache24"不需要修改,否则修改为你自定义的目录

2、修改监听的端口,默认监听80端口

Listen 127.0.0.1:8000

3、修改ServerName

ServerName localhost:8000

4、安装apache服务到windows服务进程

进入到C:Apache2.4bin目录,已管理员权限打开cmd服务

安装服务

httpd -k install -n "服务的名称"

卸载服务

httpd -k uninstall -n "服务的名称"

启动服务

httpd -k start

停止服务

httpd -k stop

重启服务

httpd -k restart

运行httpd -k start,在浏览器打开http://127.0.0.1:8000 出现It ok 表示apache2.4服务启动成功

三、安装mod_wsgi

https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

进入如上地址,下载对应python版本的mod_wsgi版本包,cp37对应python3.7版本

 

下载好了之后,运行pip3 install mod_wsgi‑4.9.0‑cp37‑cp37m‑win_amd64.whl

注意如果mod_wsgi包不是放在python的Scripts目录下的话,pip3 install 的时候需要指定包的绝对路径,否则会提示找不到这个包

1、获取mod_wsgi的关键文件路径

在cmd窗口运行

mod_wsgi-express module-config

会出现如下三行提示,把这三行提示全部拷贝下来,后面需要用

 

四、配置httpd.conf文件启动django项目

1、配置httpd.conf文件指向diango

# 1.安装wsgi模块后,出来的三行字符,直接复制过来

LoadFile "c:/users/startx/appdata/local/programs/python/python37/python37.dll"

LoadModule wsgi_module "c:/users/startx/appdata/local/programs/python/python37/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"

WSGIPythonHome "c:/users/startx/appdata/local/programs/python/python37"

# 2.设置工程中的wsgi路径 ,根据自己项目路径修改

WSGIScriptAlias / C:workspacebookshopbookshopwsgi.py

# 3.设置工程路径 根据自己项目放置的路径修改

WSGIPythonPath C:workspacebookshop

# 4.设置wsgi路径 根据自己项目放置的路径修改

Require all granted

WSGIApplicationGroup %{GLOBAL}

保存文件

2、已管理员身份打开cmd到c:Apache2.4bin(根据自己安装的位置)运行

httpd -k start

去浏览器打开http://127.0.0.1:8000

如果你能正常访问那恭喜你,整个部署到此结束,如果你的djanggo项目要运行所有地址访问,需自行在settings文件的

ALLOWED_HOSTS = [“*”]改成这样

如果你发现服务根本没启动起来,httpd报错了,查看错误日志提示

Fatal Python error: initfsencoding: unable to load the file system codec

ModuleNotFoundError: No module named 'encodings'

Current thread 0x0000062c (most recent call first):

[Sun May 22 11:22:51.263166 2022] [mpm_winnt:crit] [pid 3660:tid 216] AH00419: master_main: create child process failed. Exiting.

这个问题搞了好久,解决方式很简单

在系统环境变量中增加

PYTHONHOME=C:UsersstartxAppDataLocalProgramsPythonPython37

PYTHONPATH=C:UsersstartxAppDataLocalProgramsPythonPython37Lib

再次启动

httpd -k start

也借鉴了此文章的

windows部署django项目_东木月的博客-CSDN博客_windows部署django

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/923633.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号