美文网首页
2019-06-27

2019-06-27

作者: yk_1edd | 来源:发表于2019-06-27 11:40 被阅读0次

    Wampserver64工具下配置Windows+Apache+mod_wsgi+Flask的简要说明

    Apache的服务器有很多种类,此处随便找Wampserver64集成的服务器部署一下,主要是记录某些坑,方便复现


    2.4.37Apache

    启动的配置文件和log都可以在这个地方找到,之后要去文件夹里找到配置文件进行修改

    完成后可以开始下载mod_wsgi

    打开http://www.lfd.uci.edu/~gohlke/pythonlibs/#pil

    找到Mod_wsgi,下载对应位数和python的版本,本人是python3.7,64位windows

    可以选择mod_wsgi‑*+ap24vc*‑cp37‑cp37m‑win_amd64.whl版本

    按照官方的话说,windows下其实好多命令行就用不了了,需要利用mod_wsgi-express module-config做编译,然后通过结构的输出地址进行配置

    On Windows the start-server command is not available. Using pip install mod_wsgi on Windows is only for getting the mod_wsgi module compiled. Once you have it compiled, run:

    mod_wsgi-express module-config

    Copy the output from that into your Apache configuration file to have it load the mod_wsgi module. Then configure Apache manually to host your specific WSGI application.

    先用命令行安装一下下载好的whi文件 pip3 install "mod_wsgi‑*+ap24vc*‑cp37‑cp37m‑win_amd64.whl"

    进行安装在安装成功后在python的安装目录的\scripts文件夹下运行或者配置了系统环境可以直接运行(一定要确定自己用的是哪个python环境):

    mod_wsgi-expressmodule-config

    输出如下三行结果

    LoadFile "c:/program files/python37/python37.dll"

    LoadModule wsgi_module "c:/program files/python37/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"

    WSGIPythonHome "c:/program files/python37"

    把这三行内容复制到http.cnf文件下的其他LoadModule命令后面。

    把下面两条LoadModule的注释去掉:

    LoadModule rewrite_module modules/mod_rewrite.so

    LoadModule vhost_alias_module modules/mod_vhost_alias.so

    再次启动服务器即可

    之后安装flask的过程暂时跳过

    在配置完普通flask网站后,在_init_文件下创建工厂模式生成Flask的实例

    然后可以创建一个runserver.py的文件用来做为主程序开启服务其的入口

    文件内容如下

    from 项目根目录名(与flask的app名对应一致最好) import create_app

    app=create_app()

    if __name__ =='__main__':

    if app.debug:

    app.run(debug=True)

    else:

    app.run(host='0.0.0.0')

    然后可以创建wsgi.py文件用于给服务器提供程序入口的信息

    内容如下

    from 项目根目录名.runserver import app as application

    此处如果找不到类,需要在项目的位置上做修改,也可以利用

    import sys

    sys.path.append('')

    来确定项目地址

    之后需要在配置文件中配置虚拟主机。

    打开httpd.conf,输入:

    Listen 9001 

    <VirtualHost *:9001>       

      ServerAdmin admin@example.com   

      WSGIScriptAlias / C:项目地址\wsgi.py   

      <Directory ‘C:项目地址'>    

        Require all granted    

        Require host ip       

      </Directory>

    </VirtualHost>

    之后即可通过网页访问,端口为9001

    相关文章

      网友评论

          本文标题:2019-06-27

          本文链接:https://www.haomeiwen.com/subject/neulcctx.html