很早就想弄个自动化新闻网站,因为之前是用tomcat的,第一次使用WAMP遇到很多坑,今天就完整展示大致流程,希望能帮到需要的人。
首先是下载所需资源,这里默认已经配置好了python。
进入Apache官网下载页面
点击Files for Microsoft Windows进入windows版下载页面
点击Apache Haus,进入版本选择页面
在这里一定要注意,版本一旦选错,会出现apache无法运行的错误,慎重,慎重。
我们选择Apache 2.4.26 x64这项右下角的Download选择下载,这是最新版本的64位Apache
解压之后得到Apache24文件夹,接着自行配置环境变量,完成后我们开始下载mod_wsgi
打开http://www.lfd.uci.edu/~gohlke/pythonlibs/#pil
找到Mod_wsgi,下载对应位数和python的版本,本人是python3.6,64位windows
所以选择了mod_wsgi‑4.5.15+ap24vc14‑cp36‑cp36m‑win_amd64.whl
下载好之后我们解压文件,会得到两个文件夹
打开mod_wsgi文件夹,找到server下的mod_wsgi.cp36-win_amd64.pyd,我们选择复制
将复制文件粘贴到Apache24的modules下
在这里我将mod_wsgi.cp36-win_amd64.pyd改名为mod_wsgi.pyd,你也可以不改名字
光是将模块放进文件夹,Apache依旧无法识别,我们需要修改它的配置文件
打开Apache24\conf\httpd.conf
在其中添加LoadModule wsgi_module modules/mod_wsgi.pyd
同时,我们还需要把LoadModule vhost_alias_module modules/mod_vhost_alias.so前面的#去掉,意思是让其有效,这个是为之后的虚拟主机启用做准备
现在暂时完成Apache的配置工作
我们开始下载Flask
这里默认你的windows安装了pip模块
我们直接在cmd中输入pip install flask
现在我们创建一个简单的flask项目,在Apache同名目录下创建test文件夹,按照flask的目录规则创建static(静态资源夹),templates(渲染文件夹)和执行代码test.py
在test.py中我们输入以下代码:
from flask import *
app=Flask(__name__)
@app.route('/')
def index():
return '<center><h1>Test Success</h1></center>'
if __name__ == '__main__':
app.run()
因为只是简单测试,不需要编写完善的html页面,我仅仅返回了‘Test Success’这句话,这个时候我们还要编写wsgi文件,以便于链接Apache和Flask之间的沟通。
在wsgi.py中输入:
from test import app as application
这里提醒下,只有test.py和wsgi.py处于同一目录下才能这么写,否则需要sys.path.insert()方法来引入目录空间,如果不是项目需要,尽量都放在同一目录下。
现在进入关键的一步,我们需要在配置文件中配置虚拟主机。
打开httpd.conf,输入:
Listen 6111
<VirtualHost *:6111>
WSGIScriptAlias / C:\test\wsgi.py
<Directory 'C:\test'>
Require all granted
Require host ip
</Directory>
</VirtualHost>
Apache配置的方法有很多,详情可以访问官网咨询
这样我们的网站基本就搭建好了
访问YouIp:6111可以打开页面(YouIp是你主机的ip地址)
Windows下Flask和Apache的使用基本就是这样,介绍的很简略,如果想要深入运用,建议大家还是通过官方了解。