1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305

Развертывание приложения Flask. Gunicorn + Nginx. Debian 8

14.08.2019, 16:20. Показов 1324. Ответов 0

Студворк — интернет-сервис помощи студентам
Debian 8
Python 2.7
Необходимо развернуть приложение на linux машине.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# app.py
 
from flask import Flask, send_file, request, Response, make_response
 
app = Flask(__name__)
app.config['PROPAGATE_EXCEPTIONS'] = True
 
# реализация
...
 
@app.route('/')
@nocache
def index():
    # реализация
    ...
 
@app.route('/get-data', methods=['POST'])
def get():
    # реализация
    ...
 
if __name__ == '__main__':
    logging.basicConfig(filename='error.log',level=logging.DEBUG)
    socket_connection()
    app.run(host='0.0.0.0')
Запрос get-data отправляется на сервер каждую секунду.
Python
1
2
3
4
5
# wsgi.py
from app import app
 
if __name__ == "__main__":
    app.run()
Gunicorn запускается с помощью запуска следующего сервиса:

[Unit]
Description=Gunicorn instance to serve myproject
After=network.target
[Service]
User=root
Group=www-data
WorkingDirectory=/media/flash/myproject
Environment="PATH=/media/flash/myproject/myprojectenv/bin"
ExecStart=/usr/bin/gunicorn --workers 1 --bind unix:myproject.sock -m 007 wsgi:app
[Install]
WantedBy=multi-user.target


Конфиг nginx дефолтный. В /etc/nginx/sites-enabled ссылка на файл /etc/nginx/sites-available/myproject, который имеет следующее содержание:


server {
listen 80;
server_name 169.254.5.14;
location / {
include proxy_params;
proxy_pass [url]http://unix:/media/flash/myproject/myproject.sock;[/url]
}
}


Когда перехожу http://169.254.5.14 страничка загружается, но запрос get-data всегда возвращает 500 Internal Server Error.
В чем может быть проблема?
Если запустить только gunicorn без nginx, то все работает.

Добавлено через 2 часа 34 минуты
Решено. Проблема была в реализации метода get.
Ответ на вопрос: реализация нормального логирования.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.08.2019, 16:20
Ответы с готовыми решениями:

Трудности в использовании gunicorn+nginx
Коллеги, здравствуйте. Прошу оказать помощь в моей проблеме. django-проект разворачивал в virtualenv. Что имеем: django 2.2, python...

Сокет для взаимодействия nginx и gunicorn
Доброго дня! Решил разорбраться в пайтоне для веб. Под конкретные задачи. Сел готовить эту штуку и вот что-то ничерта понять не...

При развертывании nginx + gunicorn вызывается бесконечный редирект
Пытаюсь развернуть проект на боевом сервере. Использую nginx + gunicorn. И мне выдает вот такую ошибку: Может кто то знает...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.08.2019, 16:20
Помогаю со студенческими работами здесь

Как отдаются .py файлы при деплое flask приложения на vps? Используется nginx + gunicorn
Мне известно, что Nginx умеет отдавать статические файлы (HTML + CSS). Но каким образом, при деплое на vps в браузер отдаются файлы .py?...

Как настроить, для деплоя веб-приложения на Фласке на vps, Nginx, с gunicorn?
У меня есть статика: CSS, JavaScript. HTML-шаблоны. БД SQLite3. В какую папку у Nginx эти файлы положить? А также как создать и привязать...

Развертывание приложения на uwsgi и nginx
Делаю первые попытки развернуть сайт на Django на боевом сервере (пошла 2-ая неделя попыток) digitalocean с использованием uwsgi и nginx в...

Развертывание приложения на Ubuntu Server + nginx + tomcat embedable + java
У меня установлен ubuntu server 18 Я развертываю приложение на удаленном сервере из среды Windows. Развертывание осуществляется через...

Как подружить Nginx и Gunicorn?
На сервере(Centos7) на 80-м порту бежит Nginx на 5000-м Gunicorn+Flask как мне убелить Nginx трагслировать содежимое с 5000го порта?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru