您好,登錄后才能下訂單哦!
1、Flask的入口程序為manage.py,代碼如下:
#coding=utf-8#!/usr/bin/python
from somewhere import app #somewhere 表示的包含Flask的實例,如app = Flask(__name__) if __name__ == "__main__": app.run(debug=True)
2、在manage.py的同級目錄添加tornado應用程序tornado_server.py來托管manage.py,代碼如下:
#coding=utf-8#!/usr/bin/python from tornado.wsgi import WSGIContainerfrom tornado.httpserver import HTTPServerfrom tornado.ioloop import IOLoopfrom run import app http_server = HTTPServer(WSGIContainer(app)) http_server.bind(5000, "0.0.0.0") # 對外開啟訪問 http_server.start(1) # http_server.listen(5000) #或者只監聽127.0.0.1的默認端口 IOLoop.instance().start()
3.如果直接運行python tornado_server.py會正常運行,輸出如下:
* Running on http://127.0.0.1:5000/
* Restarting with reloader
但是在生產環境中得部署到性能好的nginx上,nginx配置如下:
server {
listen 80;
server_name abc.com;
rewrite ^(.*) http://www.abc.com$1 permanent;
}
server{
listen 80;
#listen [::]:80 default_server;
#access_log /var/log/nginx/win2003_access.log main;
#include header_proxy.inc;
server_name www.abc.com;
#root /var/www/abc;
location / {
#index index.html index.htm index.php;
#include uwsgi_params;
#uwsgi_pass unix:/tmp/uwsgi.sock;
proxy_pass http://localhost:5000; #關鍵一點就是這里,意思是所有對http://www.abc.com:80的訪問都會重定向到本機的5000端口上
}
}
別的一些優化比如靜態文件暫沒有讓 nginx代理
配置好后只需要重載一下nginx 就可以生效:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。