需求:
- 1.下载apache2.4(版本:win32 vc15) apache vc15版本
- 2.下载mod_wsgi模块,不然pip安装不上(要与apache以及python版本对应: mod_wsgi‑4.6.5+ap24vc15‑cp37‑cp37m‑win_amd32.whl)
链接:下载地址 - 3.python(版本:3.7 32位)
步骤:
-
安装( pip install mod_wsgi‑4.6.5+ap24vc15‑cp37‑cp37m‑win_amd32.whl)
-
继续执行命令: mod_wsgi-express module-config
-
将三行执行结果复制到httpd.conf中,看位置添加
-
进入Apache24/conf/httpd.conf,编辑:
Define SRVROOT “D:\apache\Apache24”(即改为安装目录) -
找位置添加web app相关的路径配置等:
<VirtualHost *:5000 > //注意此处修改为需要设定的端口号
ServerAdmin example@xx.com
DocumentRoot C:\Users\Administrator\Desktop\webDev\optorun_helper
<Directory "C:\Users\Administrator\Desktop\webDev\optorun_helper">
Order allow,deny
Allow from all
</Directory>
WSGIScriptAlias / C:\Users\Administrator\Desktop\webDev\optorun_helper\test.wsgi
</VirtualHost>
注意:以上所有的路径都是flask项目的根目录,test.wsgi为具体的配置wsgi文件。
- 在flask项目文件夹下创建一个test.wsgi文件,然后编辑如下代码:
import sys
#Expand Python classes path with your app's path
sys.path.insert(0, "C:\\Users\\Administrator\\Desktop\\webDev\\optorun_helper")
from app import app
#Put logging code (and imports) here ...
#Initialize WSGI app object
application = app
注意系统路径为两个反斜杠,以防转义符号使得路径不识别(此问题解决了很久)。
- 让局域网用户可以访问:
找到apache配置文件httpd.conf,找到配置:
<directory />
options followsymlinks
allowoverride none
order deny,allow
deny from all
</directory>
将最后一个deny from all修改成allow from all
- 更改端口号:
找到配置代码:
#Listen 12.34.56.78:80
Listen 5000
改变Listen 为防火墙已经打开的端口号,不然其他用户不能访问。