Почему при запуске сервера на Flask возникает ошибка 502 Bad Gateway?

На ubuntu установлен сервер Flask с nginx, supervisor, gunicorn. Все работает. Хочу связать Flask c базой данных Mysql. Установил Mysql на ubuntu, создал базу данных MyDB. Сервер Mysql работает. Вот app.py:

from flask import Flask, render_template
from flask_mysqldb import MySQL
app = Flask(__name__)

mysql = MySQL()

app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = 'root'
app.config['MYSQL_DB'] = 'MyDB'

mysql.init_app(app)

@app.route('/', methods=['GET', 'POST'])
def index():
 if request.method == "POST":
        details = request.form
        firstName = details['fname']
        lastName = details['lname']
        cur = mysql.connection.cursor()
        cur.execute("INSERT INTO MyUsers(firstName, lastName) VALUES (%s, %s)", (firstName, lastName))
        mysql.connection.commit()
        cur.close()
        return 'success'
    return render_template('index.html')

if __name__ == '__main__':
    app.run()

/var/log/nginx/error.log выдает ошибку:

2024/03/23 09:19:31 [crit] 24699#24699: *7 connect() to unix:/var/www/project_flask/ipc.sock failed (2: No such file or directory) while connecting to upstream, client: 192.168.31.1, server: flask.cubinez.ru, request: "GET / HTTP/1.1", upstream: "http://unix:/var/www/project_flask/ipc.sock:/", host: "flask.cubinez.ru"

То есть не создает файл ipc.sock в рабочей директории /var/www/project_flask Пробовал сам создать, права менял - не помогает. Вот конфиги супервизора и nginx:

введите сюда описание изображения


Ответы (1 шт):

Автор решения: cubinez85

Нашел решение! Проблема была в установке модуля flask_mysqldb.

  1. Нужно установить модуль в виртуальной среде проекта: source myprojectenv/bin/activate и pip install flask_mysqldb
  2. Если не установится модуль flask_mysqldb, тогда придется устанавливать библиотеки: https://stackoverflow.com/questions/76875507/can-not-install-apache-airflow-providers-mysql-pkg-config-error
→ Ссылка