Мне нужна помощь в развертывании моего веб-приложения Flask / Vue.js.
Текущая настройка: Интерфейс Vue.js с vue-router со статическими страницами + внутренний интерфейс Flask (общение черезAjax, необходим только для облегчения отправки электронного письма через форму).
Проблема:
Я озадачен тем, как развернуть его на VPS:
- Два процесса на двух разных портах, один для uWsgi + Flask и один для Vue, при этом Nginx обслуживает их
- Один единственный процесс - Uswgi + Flask для обслуживания статических (встроенных) страниц Vue,Nginx перед ними.Каким-то образом Flask нужно перенаправить запрос в соответствующий статический вид.
- Что-то еще
My Backsnd / Flask Backend / 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()
Спасибо!