apache+mod_wsgi+py36 flask部署 (win10)

1.apache

此处选用xampp(7.1.17 / PHP 7.1.17),之所以下载这个版本,是因为新版是vc15编译,之后选用mod_wsgi版本不好选择。

2.mod_wsgi

到以下地址下载 https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

*   mod_wsgi‑4.5.24+ap24vc10‑cp34‑cp34m‑win32.whl
*   mod_wsgi‑4.5.24+ap24vc10‑cp34‑cp34m‑win_amd64.whl
*   mod_wsgi‑4.5.24+ap24vc14‑cp35‑cp35m‑win32.whl
*   mod_wsgi‑4.5.24+ap24vc14‑cp35‑cp35m‑win_amd64.whl
*   mod_wsgi‑4.5.24+ap24vc14‑cp36‑cp36m‑win32.whl
*   mod_wsgi‑4.5.24+ap24vc14‑cp36‑cp36m‑win_amd64.whl
*   mod_wsgi‑4.5.24+ap24vc14‑cp37‑cp37m‑win32.whl
*   mod_wsgi‑4.5.24+ap24vc14‑cp37‑cp37m‑win_amd64.whl
*   mod_wsgi‑4.5.24+ap24vc9‑cp27‑cp27m‑win32.whl
*   mod_wsgi‑4.5.24+ap24vc9‑cp27‑cp27m‑win_amd64.whl
*   mod_wsgi‑4.6.4+ap24vc10‑cp34‑cp34m‑win32.whl
*   mod_wsgi‑4.6.4+ap24vc10‑cp34‑cp34m‑win_amd64.whl
*   mod_wsgi‑4.6.4+ap24vc14‑cp35‑cp35m‑win32.whl
*   mod_wsgi‑4.6.4+ap24vc14‑cp35‑cp35m‑win_amd64.whl
*   mod_wsgi‑4.6.4+ap24vc14‑cp36‑cp36m‑win32.whl
*   mod_wsgi‑4.6.4+ap24vc14‑cp36‑cp36m‑win_amd64.whl
*   mod_wsgi‑4.6.4+ap24vc15‑cp37‑cp37m‑win32.whl
*   mod_wsgi‑4.6.4+ap24vc15‑cp37‑cp37m‑win_amd64.whl
*   mod_wsgi‑4.6.4+ap24vc9‑cp27‑cp27m‑win32.whl
*   mod_wsgi‑4.6.4+ap24vc9‑cp27‑cp27m‑win_amd64.whl

因为python在机器上是3.6,apache是24v14的,所以选择mod_wsgi‑4.6.4+ap24vc14‑cp36‑cp36m‑win32.whl

tips:如果选择的版本不匹配,则无法导入wsgi模块。

下载解压后会出现两个文件夹


image.png
mod_wsgi\server\mod_wsgi.cp36-win32.pyd 

拷贝上面的pyd文件到apache目录 modules文件夹下
修改httpd.conf

# 添加下面一行
LoadModule wsgi_module modules/mod_wsgi.cp36-win32.pyd
# 查看mod_vhost_alias 是否启用,如果没启用就启用这个功能
LoadModule vhost_alias_module modules/mod_vhost_alias.so

重新启动apache,如果没有报错,那就表明 mod_wsgi 启用成功

3.flask测试

在xampp\htdocs 新建文件夹 web,web下新建statics,templates文件夹


image.png

test.py:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

@app.route("/hello")
def hello1():
    return "hello"

wsgi.py:

import sys

#Expand Python classes path with your app's path
sys.path.insert(0, "D:/xampp/htdocs/web")

from test import app

#Put logging code (and imports) here ...

#Initialize WSGI app object
application = app

配置apache虚拟主机:

# xampp\conf\extra\httpd-vhost.conf
<VirtualHost *:80>
        ServerName www.flask.fk
        WSGIScriptAlias / D:\xampp\htdocs\web\wsgi.py
        <Directory "D:\xampp\htdocs\web">
                Require all granted
                Require host ip
        </Directory>
</VirtualHost>

配置本地域名:

# 路径 :C:\Windows\System32\drivers\etc\hosts
# 添加如下所示内容
127.0.0.1 www.flask.fk

重新启动apache
浏览器访问


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容