windows下部署flask: apache+mod_wsgi问题汇总

版本:apache和mod_wsgi版本须一致

本项目用的是python3.8+Flask2.0.1+apache2.4+mod_wsgi-4.9.2-cp38-cp38-win_amd64

常用命令

httpd.exe -k install安装apache服务

httpd.exe -k uninstall删除apache服务                                   

httpd.exe -k start启动apache服务

httpd.exe -k restart重启apache服务

SC delete apache删除安装的apache服务

配置

1. python安装好mod_wsgi后,在E:\Python38\Scripts路径中打开cmd,并输入命令mod_wsgi-express module-config,并将返回的路径复制到apache.conf

2. 环境安装好后,配置apache.conf

设置监听端口

设置负载均衡

 报错

1. 任务一直挂起,不报错不返回结果

httpd.conf中添加WSGIApplicationGroup %{GLOBAL}

原因:大概是一些库,如numpycv2等在python子解释器里调用不了,加上那句话就强制使用python的主解释器

2. Apache:Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding

Python runtime state: core initialized

ModuleNotFoundError: No module named 'encodings'

解决方案:加上系统变量PYTHONHOME和PYTHONPATH,如果已经存在,就去修改


版权声明:本文为sxn777原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。