flask在windows上用mod_wsgi部署

flask在windows上用mod_wsgi部署也是折腾了不少时间,下面就总结下。

首先下载Apache httpd,我认为Apache Hans比较好;

一般这种情况下,你的python环境已经安装好了,只是你要确认自己pc上的python的版本,然后就是下载windows下的预编译好的mod_wsgi

在下载mod_wsgi时一定要认真,确认你的python版本和平台、还有你下载的httpd的版本和平台,在上面的Unofficial Windows Binaries for Python Extension Packages这个网站找到匹配的mod_wsgi,这一步很重要,否则httpd服务将无法启动,因为mod_wsgi和python或httpd不匹配;

将下载下来的mod_wsgi解压后把mod_wsgi.so扩展模块放在Apache24\modules目录里,然后在配置文件Apache24\conf\httpd.conf里添加配置:

1 LoadModule wsgi_module modules/mod_wsgi.so

如果下载的是新版的是pyd文件,具体httpd.conf配置和上面差不多: LoadModule wsgi_module modules/mod_wsgi.cp35-win_amd64.pyd

最后注意修改Apache的根目录路径:

1 Define SRVROOT "D:\006-httpd\httpd-2.4.23-x64-vc14-r3/Apache24"
2 ServerRoot "${SRVROOT}"

最后把Apache httpd安装为windows服务:

1 httpd -k install

注意修改httpd.conf文件的两个配置项,因为在windows平台下,这两个配置项不注意,很可能httpd服务会在某一时刻意外停止,莫名你还摸不到头脑。

AcceptFilter http none
AcceptFilter https none

下面是一个flask应用的基本配置,没考虑安全因素,只是测试发布:

<VirtualHost *:8000>
    WSGIScriptAlias /flask D:\002-Code\pycode\wsgi.py

    <Directory D:\002-Code\pycode>
        Require all granted
    </Directory>

</VirtualHost>

 

THE END