我正在使用 python __init __。py 命令从命令行在本地运行Flask Web应用程序。我想不使用任何命令来运行/部署flask Web。像Spring Web App。 初始化 .py
from flask import Flask, url_for
from flask import jsonify
from werkzeug.serving import run_simple
from werkzeug.wsgi import DispatcherMiddleware
import db_config
app = Flask(__name__)
app.config['APPLICATION_ROOT'] = '/my-web-app'
def simple(env, resp):
resp(b'200 OK', [(b'Content-Type', b'text/plain')])
return [b'Hello my app User']
@app.route("/")
def hello():
return "Hello world"
@app.route('/test', methods=['GET'])
def get_tasks():
db = db_config.getconnection();
cur = db.cursor()
cur.execute("SELECT * FROM emp")
items = cur.fetchall()
print(items)
db.commit()
cur.close()
db.close()
return jsonify({'tasks': items})
app.wsgi_app = DispatcherMiddleware(simple, {'/my-web-app': app.wsgi_app})
if __name__ == "__main__":
app.run()
是否可以创建flask Web应用程序的.WAR文件并将其部署在服务器上?并在发出请求时启动Web应用。
答案 0 :(得分:4)
是否可以通过Flask应用创建Java .WAR文件?可能,但是我真的不推荐。 Python不是Java。
是否可以在服务器上部署Flask应用程序?哦,是的,有很多方法。 Flask文档中的Deployment Options页列出了几个选项,包括:
mod_wsgi
,使用FastCGI或使用老式的香草CGI运行您自己的服务器。在自托管选项中,我绝对会推荐nginx而不是Apache作为前端Web服务器,并且nginx内置了对uWSGI协议的支持,您可以使用{ {1}}命令。
但是,我绝对建议您研究一种托管选项,而不要从事运行自己的Web服务器的工作,尤其是在您刚入门时。 Google App Engine和AWS Elastic Beanstalk都是很好的平台,可以作为运行云Web应用程序的初学者入门。