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文件夹


apache+mod_wsgi+py36 flask部署 (win10)_第1张图片
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

        ServerName www.flask.fk
        WSGIScriptAlias / D:\xampp\htdocs\web\wsgi.py
        
                Require all granted
                Require host ip
        

配置本地域名:

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

重新启动apache
浏览器访问


image.png

你可能感兴趣的:(apache+mod_wsgi+py36 flask部署 (win10))