Linux下 apache 配置 wsgi 以使用 python-flask (2016年2月)

  1. 先在linux服务器上安装, 配置好apachephp

  2. 下载wsgi, 地址: https://pypi.python.org/pypi/mod_wsgihtml

clipboard.png

3 将下载好的文件上传至服务器, 解压, 安装python

    1. 下载页面有说明System Requirements, 注意看一下知足没有linux

    2. 有2种安装方式, 一种是直接安装到apache, 一种是安装到Python,这里先采用第一种, 直接安装到apache:apache

    1. 进入下载的文件目录, 常规安装, 先./configure 而后 make, 最后 make install, 由于我是本身搭的centos服务器, 并且是mini版, 因此不少软件没装, 下面是我遇到的一些问题:flask

      1- 没有装setuptoolscentos

      clipboard.png
      解决办法: 装
      下载地址 https://pypi.python.org/pypi/setuptools/
      上传到服务器, 解压, 运行 python setup.py install
      完成, OK浏览器

      2- 没有装apache开发工具 httpd-devel(centos下, 其余发行版名称可能会不一样)
      clipboard.png
      解决办法: 装
      centos系统下运行命令: yum install httpd-devel
      完成, OK服务器

      3- 没有装 gcc
      clipboard.png
      解决办法: 装
      运行命令: yum install gcc
      完成,OKide

      4- 没有装 python-devel
      clipboard.png
      解决办法: 装
      运行命令: yum install python-devel
      完成, OK

      5- 上面的问题都解决了之后, 再次运行 ./configure; make ; make install, 成功!

    5 建立测试须要用的文件和目录

    1- 建立一个目录用来存放程序文件,例如 /var/www/wsgi-scripts/
    
    2- 建立一个测试用的flask程序, 放入目录, 例如: /var/www/wsgi-scripts/hello.py:

    clipboard.png

    3- 建立一个wsgi文件, 放入目录, 例如: /var/www.wsgi-scripts/flask.wsgi

    clipboard.png

    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- 继续在刚才的内容下面, 添加如下配置项:

    clipboard.png

    3- 整体上, 看起来就像这样的:

    clipboard.png

    4- 最后, 找到LoadModule项, 在最后添加: LoadModule wsgi_module modules/mod_wsgi.so

    clipboard.png

    7 重启动apache, 打开浏览器, 进行测试, 若是出现Hello World!, 就OK啦

    clipboard.png

    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
    相关文章
    相关标签/搜索