要成功,主要分為兩點:
Apache and mod_wsgi
假設你的 domain name 是 myname.com,而你想讓 application 的網址是 app.myname.com首先,安裝 mod_wsgi
sudo apt-get install libapache2-mod-wsgi再來,
cd /etc/apache2/sites-available vim app內容寫入
<Virtualhost *:80> DocumentRoot /var/www/app ServerName app.myname.com LoadModule wsgi_module modules/mod_wsgi.so WSGIScriptAlias / "/var/www/app/app.wsgi" <Directory /var/www/app> Order deny,allow Allow from all </Directory> </Virtualhost>最後,
sudo a2ensite app sudo service apache2 restart vim /etc/hosts在 /etc/hosts 裡加上
127.0.0.1 app.myname.com
這部份結束!
Flask Application
要 create 一個 wsgi file:
cd /var/www/app vim app.wsgi而內容寫下測試的輸出結果:
def application(environ,start_response): status='200 OK' output='Python Flask with apache and mod_wsgi in Ubuntu' headers=[('Content-type', 'text/plain'), ('Content-Length', str(len(output)))] start_response(status, headers) return [output]再來,要讓 app.wsgi 可以存取
chmod a+x app.wsgi
接著瀏覽 app.myname.com,如果有出現
Python Flask with apache and mod_wsgi in Ubuntu那就代表 apache 和 mod_wsgi 成功,可以進行實際設定了。
將 app.wsgi 改成
import sys sys.path,append('/var/www/app') from main import app as application其中 main 的意思代表主要 py 檔的檔名,所以 main.py 內容就是
from flask import Flask app = Flask(__name__) @app.route('/') def index(): return 'Welcome!' if __name__ == '__main__': app.run(host='0.0.0.0')
這樣就大功告成啦!
瀏覽 app.myname.com 可以看到
Welcome!
Reference
如果想更進一步了解 Flask ,可以到 http://flask.pocoo.org/
沒有留言:
張貼留言