先在linux服务器上安装, 配置好apache
下载wsgi, 地址: https://pypi.python.org/pypi/mod_wsgi
3 将下载好的文件上传至服务器, 解压, 安装
下载页面有说明System Requirements, 注意看一下满足没有
有2种安装方式, 一种是直接安装到apache, 一种是安装到Python,这里先采用第一种, 直接安装到apache:
进入下载的文件目录, 常规安装, 先./configure 然后 make, 最后 make install, 因为我是自己搭的centos服务器, 而且是mini版, 所以很多软件没装, 下面是我遇到的一些问题:
1- 没有装setuptools
解决办法: 装
下载地址 https://pypi.python.org/pypi/setuptools/
上传到服务器, 解压, 运行 python setup.py install
完成, OK2- 没有装apache开发工具 httpd-devel(centos下, 其他发行版名称可能会不同)
解决办法: 装
centos系统下运行命令: yum install httpd-devel
完成, OK3- 没有装 gcc
解决办法: 装
运行命令: yum install gcc
完成,OK4- 没有装 python-devel
解决办法: 装
运行命令: yum install python-devel
完成, OK5- 上面的问题都解决了以后, 再次运行 ./configure; make ; make install, 成功!
5 创建测试需要用的文件和目录
1- 创建一个目录用来存放程序文件,例如 /var/www/wsgi-scripts/
2- 创建一个测试用的flask程序, 放入目录, 例如: /var/www/wsgi-scripts/hello.py:
3- 创建一个wsgi文件, 放入目录, 例如: /var/www.wsgi-scripts/flask.wsgi
6 上面的文件都创建好了, 开始对apache进行设置了, 打开apache的配置文件, 在centos下为: /etc/httpd/conf/httpd.conf
1- 找到<Directory "/var/www/html">配置项, 然后在它的下方(注意!是下方,不要添加到这个配置项目里面去), 添加下面的内容:
WSGIScriptAlias /flask /usr/local/www/wsgi-scripts/flask.wsgi
这样就在/flask路径和你的flask.wsgi之间进行了连接
2- 继续在刚才的内容下面, 添加以下配置项:
3- 总体上, 看起来就像这样的:
4- 最后, 找到LoadModule项, 在最后添加: LoadModule wsgi_module modules/mod_wsgi.so
7 重启动apache, 打开浏览器, 进行测试, 如果出现Hello World!, 就OK啦
8 如果出现问题, 记得看error_log : /var/log/httpd/error_log
9 可以参考的资料:
1 apache的安装和配置: http://vbird.dic.ksu.edu.tw/linux_server/0360apache.php
2 flask的部署帮助: http://docs.jinkan.org/docs/flask/deploying/mod_wsgi.html
3 wsgi的说明指南: http://modwsgi.readthedocs.org/en/develop/user-guides.html