要成功,主要分為兩點:
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/
沒有留言:
張貼留言