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
    相關文章
    相關標籤/搜索