【发布时间】:2019-07-02 02:50:41
【问题描述】:
我需要一些帮助来部署我的 Flask/Vue.js Web 应用程序。
当前设置: Vue.js 前端,带有静态页面的 vue-router + Flask 后端(通过 Ajax 进行通信,只需要方便通过表单发送电子邮件)。
问题:
我对如何在 VPS 上部署它感到困惑:
- 两个不同端口上的两个进程,一个用于 uWsgi+Flask,一个用于 Vue,Nginx 为它们提供服务
- 一个单一的进程 - Uswgi+Flask 为静态(构建)Vue 页面提供服务,Nginx 在它们前面。 Flask 需要以某种方式将请求重定向到适当的静态视图。
- 别的东西
我的 Flask 后端/API:
from flask_cors import CORS
from flask_mail import Message
from datetime import datetime
import pytz
from flask_mail_sendgrid import MailSendGrid
from config import confreader
app = Flask(__name__)
app.config.from_object(confreader)
curdate = str(datetime.now(pytz.timezone("Europe/Bucharest")))
cors = CORS(app, resources={r"/api/*": {"origins": "*"}})
mail = MailSendGrid(app)
@app.route('/api/sendemail', methods=['POST'])
def send_email():
subject = '[Contact Form Message] ' + request.json['name'] + ' on ' + curdate
template = f"""
<h1>{request.json['name']} ({request.json['email']}) on {curdate}</h1>
<p>{request.json['text']}</p>"""
msg = Message(
subject,
recipients=[app.config['MAIL_DEFAULT_SENDER']],
html=template,
sender=request.json['email']
)
try:
mail.send(msg)
return jsonify(True)
except:
return jsonify(False)
if __name__ == '__main__':
app.run()
谢谢!
【问题讨论】:
标签: python rest nginx vue.js flask