flask项目部署在Apache服务器(基于xp系统)

参考资料:

1、https://blog.csdn.net/firefox1/article/details/46438769

2、https://blog.csdn.net/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.ziphttps://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 [email protected]

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

猜你喜欢

转载自blog.csdn.net/qq_28145603/article/details/84324758