参考资料:
1、https://blog.youkuaiyun.com/firefox1/article/details/46438769
2、https://blog.youkuaiyun.com/k295330167/article/details/80616519
整体架构:采用Windows xp系统 sp3版本、Apache2.4 、mod_wsgi 、 python3.x 、 flask(基于VC10编译环境,32位的机),所有软件要基于相同编译环境
1、安装VC2010编译环境
在微软官网https://www.microsoft.com/en-us/download/confirmation.aspx?id=5555下载Microsoft Visual C++ 2010 Redistributable Package (x86),安装
2、安装Apache
在https://www.apachelounge.com/download/网站下载基于VC10的Apache2.4版本(httpd-2.4.23-win32.zip )https://www.apachelounge.com/download/VC10/。
解压这个文件把Apache24文件夹放到C盘根目录下,因为Apache的配置文件httpd.conf的ServerRoot默认为c:/Apache24,可根据需要更改。
打开cmd命令窗,cd c:\Apache24\bin 执行httpd
然后打开浏览器,输入
http://localhost
如果网页上显示 It Works! ,那说明apache服务器运行起来了。
3、安装python
在python网站下载python3.4 32位版本https://www.python.org/downloads/windows/
配置环境变量,我的电脑右键-->属性-->高级-->环境变量-->系统变量-->Path-->编辑
加分号添加C:\Python34;C:\Python34\Scripts
更新pip。python -m pip install --upgrade pip(避免有些模块不能安装)
4、安装flask
直接利用pip安装 pip install flask
5、安装mod_wsgi模块(重难点)
利用pip install mod_wsgi 直接安装。若能安装最好,但我的系统环境安装不了。
在https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi下载适合自己环境的版本。我下载的是mod_wsgi‑4.6.5+ap24vc10‑cp34‑cp34m‑win32.whl
把这个文件放到C:\Python34\Scripts目录下,然后执行命令:
(1)mod.whl文件安装
cd C:\Python34\Scripts
pip install "mod_wsgi-4.6.5+ap24vc10-cp34-cp34m-win32.whl"
(2)安装成功后,运行命令:
mod_wsgi-express module-config
(3)得到以下三条信息
将三条信息复制到C:\Apache24\conf\httpd.conf文件中
6、建立项目文件
创建C:\test_web\test.py
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def hello_world():
return "hello world!"
if __name__ == '__main__':
app.run()
创建C:\Test_Web\test.wsgi
import sys
#Expand Python classes path with your app's path
sys.path.insert(0, "c:/Test_Web")
from test import app
#Put logging code (and imports) here ...
#Initialize WSGI app object
application = app #默认不能修改
7、Apache 站点配置
修改httpd.conf文件
修改目录授权:
将#
<Directory />
AllowOverride none
Require all denied
</Directory>
改为:
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
</Directory>
添加修改站点信息
<VirtualHost *:8080 >
ServerAdmin example@company.com
DocumentRoot c:\test_web
<Directory "c:\test_web">
Order allow,deny
Allow from all
</Directory>
WSGIScriptAlias / c:\test_web\test.wsgi
</VirtualHost>
我将端口号改为8080,防止80端口被使用。 / 表示flask的路由,必不可少
为将网站在局域网内访问:
将 Listen *:8080改为 Listen localhost:8080 localhost为本地IP地址
ServerName www.example.com:8080 改为ServerName 192.168.1.185:8080
8、在浏览器输入本地ip和端口号,显示hello world!则成功。
本示例的软件可从以下地址中获得:http://note.youdao.com/noteshare?id=b155de483a5de1138e58056a566b8464&sub=A3709A03844D45B7B099352DABF071DC
flask项目的配置遇到的问题
1、数据库的数据源的问题
在添加数据源时,要将选择的数据库设置为默认数据库,不然master数据库会被默认连接
2、flask程序中的路径问题
程序中的相对路径是针对Apache24\bin这个文件而言,不是flask项目的文件结构
3、xp系统不能安装高版本的serial库,安装2.7