版本: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}
原因:大概是一些库,如numpy,cv2等在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,如果已经存在,就去修改