2019-06-27

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

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

推荐阅读更多精彩内容

  • TSBS数据库性能测试 使用须知 由于TSBS是由go语言编写所以安装TSBS之前需要进行go语言的安装以及环境的...
    白羊伯玉阅读 3,950评论 0 1
  • jar包下载路径:http://www.onlinedown.net/soft/988800.htm 实现代码如下...
    长山丨阅读 6,999评论 2 0
  • 掐指一算,萌萌应该是目前为止,我养的时间最久的猫了。 前面那几只。都是小野猫,短的,数月;长的,不过也是半年,而它...
    宁黛阅读 2,338评论 0 2
  • 家人在左 工作在右 我的所有悲喜 原本都跟你无关 那一天 你说 你要站到我的前面 只要我伸手 就能搭上你的肩 我无...
    米粒_花开阅读 4,001评论 50 65
  • 感受清单输出 1、结交行动派:我们的接头暗语是:不去做,然并…(嘿嘿,你懂的,啥?鹌鹑蛋,去) 2、雷锋2.0版教...
    优爸_IT_海口阅读 955评论 0 0