去发现生活中的美好,记录生活中的点点滴滴

搭建基于window+python+wsgi+flask的web服务

python admin 27℃

搭建python的web服务,网上有各种各样的解决方案,但是感觉都不太尽人意,不是报错就是太简化,达不到要求,至此,我归纳总结下方法。

1、安装apache和python都比较简单,apache安装就不赘述,python安装我之前写过一篇,可以参考下入口

2、为Apache配置wsgi模块,首先,去http://www.lfd.uci.edu/~gohlke/pythonlibs/,搜索wsgi模块,找到对应的版本下载,

这里由于我的Apache版本是2.4.*,python是2.7版本且是32位,所以,我下载的是:

 

mod_wsgi-4.6.5+ap24vc9-cp27-cp27m-win32.whl

3、下载后,将whl包保存到python/Script目录下,执行安装:

pip install "mod_wsgi-4.6.5+ap24vc9-cp27-cp27m-win32.whl"

安装后,执行以下命令得到配置:

mod_wsgi-express module-config > myconfig.txt

默认会得到以下内容:

LoadModule wsgi_module "d:/python27/lib/site-packages/mod_wsgi/server/mod_wsgiNone"
WSGIPythonHome "d:/python27"

执行后,会生成myconfig.txt文件,将里面的内容复制到http.conf末尾,保存。

4、解压

mod_wsgi-4.6.5+ap24vc9-cp27-cp27m-win32.whl

找到mod_wsgi.pyd,复制到Apache/module目录下,在http.conf加上

LoadModule wsgi_module modules/mod_wsgi.pyd

5、将以下两个模块打开(去掉#):

LoadModule rewrite_module modules/mod_rewrite.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so

6、安装pip

pip install flask

如果因为pip版本太低无法安装,则执行:

python -m pip install --upgrade pip 

升级pip后,再次执行安装flask。

7、执行完以上步骤后,重启Apache,如果还是重启不成功,则可能是wsgi的版本下载的不对,请仔细检查。

8、接下来,新建一个python项目pythontest,新建文件test.py,贴下以下内容:

from flask import *
app=Flask(__name__)
@app.route('/')
def index():
    return '<center><h1>Hello World !</h1></center>'
if __name__ == '__main__':
    app.run()

9、在项目跟目录新建test.wsgi文件

import sys
sys.path.insert(0, 'D:\\www\\pythontest')
from test import app as application

10、接下来,配置vhosts.conf:

 <VirtualHost *:80>
  DocumentRoot "D:\www\pythontest"
  ServerName py.cn
  ServerAdmin admin@example.com
  WSGIScriptAlias / D:\www\pythontest\test.wsgi
    <Directory 'D:\www\pythontest'>
      Require all granted
      Require host ip    
    </Directory>
</VirtualHost>

11、配置hosts

127.0.0.1 py.cn

12、重启apache,在浏览器打开py.cn,页面即可成功加载

Hello World!

13、完工。

转载请注明:永盟博客 » 搭建基于window+python+wsgi+flask的web服务

喜欢 (2)