Как стать автором
Обновить

Хостинг mercurial репозиториев с помощью nginx, gunicorn и supervisor

Системы управления версиями *
imageСпособов хостинга mercurial репозиториев достаточно, но я сочинил именно такой вариант по следующим причинам:
  1. nginx: мало кушает, быстро работает — скорость
  2. supervisor: мониторит процесс, перезапускает если что — надёжность
  3. gunicorn: wsgi, большие возможности по настройке — эффективность
Кроме того, т.к. я разрабатываю на django, и сайты запускаю под этой же связкой, есть и четвёртая причина — унификация, а она очень полезная вещь.

Если вас заинтересовала тема, то конкретные инструкции и конфиги — под катом.
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 3.8K
Комментарии 18

Боевой сервер для Django-приложения: Ubuntu Server 10.04 LTS + django 1.4 + nginx + gunicorn

Разработка веб-сайтов *Django *
Из песочницы
Многие учебные пособия по разработке на Django раскрывают как быстро получить работающий отладочный сервер (python manage.py runserver), а вопрос развертывания в боевом режиме часто остается нераскрытым или освещаются далеко не самые простые и эффективные методы.
Ниже я расскажу о об одном из способов развернуть сайт на Django в боевом режиме, начиная от выбора хостинга, заканчивая развертыванием веб-сервера. Таким образом статья может быть полезна тем, кто освоил разработку на базе Django, но не имеет опыта развертывания серверов. Мой способ один из многих, но он достаточно прост, эффективен в работе и легок в поддержке. Используем VPS-хостинг, Ubuntu 10.04, nginx, gunicorn.

Читать дальше →
Всего голосов 34: ↑29 и ↓5 +24
Просмотры 117K
Комментарии 41

Оптимизация стадии инициализации Django

Python *Django *

Если у вас Django проект работает на синхронных воркерах и вы периодически их перезапускаете (например, в gunicorn это опция --max-requests), полезно было бы знать, что по-умолчанию после каждого перезапуска воркера, первый запрос к нему обрабатывается гораздо дольше, чем последующие.


В этой статье расскажу как я решил эту и другие проблемы, вызывающие аномальные задержки на случайных запросах.

Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 9.5K
Комментарии 8

Мега-Учебник Flask, Часть XVII: Развертывание под Linux

Разработка веб-сайтов *Python *Flask *
Tutorial

(издание 2018)


Miguel Grinberg




Туда Сюда


Это семнадцатая часть серии Мега-учебников Flask, в которой я собираюсь развернуть микроблог на сервере Linux.

Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 43K
Комментарии 4

Введение в WSGI-серверы: Часть первая

Python *Nginx **nix *Apache *
Из песочницы
Данная статья является переводом статьи Кевина Голдберга «An Introduction to Python WSGI Servers: Part 1» blog.appdynamics.com/engineering/an-introduction-to-python-wsgi-servers-part-1 с небольшими дополнениями от переводчика

image

Краткая история серверов WSGI Python


WSGI-серверы появились потому, что веб-серверы в то время не умели взаимодействовать с приложениями, написанными на языке Python. WSGI (произносится как «whiz-gee» с твердым «g») был разработан Филиппом Дж. Эби (вместе с Ян Бикинг и др.) В начале 2000-х годов. Модуль Apache, известный как mod_python, разработанный Григорием Трубецким в конце 90-х годов, на тот момент обрабатывал большую часть Python-приложений. Однако mod_python не был официальной спецификацией. Он был просто создан, чтобы разработчики могли запускать код Python на сервере. К сожалению, такой подход был небезопасным и разработчики начали искать новое решение.

WSGI(Web-Server Gateway Interface) является потомком CGI(Common Gateway Interface). Когда веб начал развиваться, CGI разрастался из-за поддержки огромного количества языков и из-за отсутствия других решений. Однако, такое решение было медленным и ограниченным. WSGI был разработан как интерфейс для маршрутизации запросов от веб-серверов(Apache, Nginx и т.д.) на веб-приложения.
Читать дальше →
Всего голосов 19: ↑18 и ↓1 +17
Просмотры 94K
Комментарии 7

Анализ производительности WSGI-серверов: Часть вторая

Python *Nginx **nix *Apache *
Данная статья является переводом статьи Кевина Голдберга «A Performance Analysis of Python WSGI Servers: Part 2» dzone.com/articles/a-performance-analysis-of-python-wsgi-servers-part с небольшими дополнениями от переводчика.

image

Введение


В первой части этой серии Вы познакомились с WSGI и с шестью наиболее популярными по мнению автора WSGI-серверами. В этой части Вам будет показан результат анализа производительности этих серверов. С этой целью была создана специальная тестовая песочница.
Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 21K
Комментарии 6

Анализ производительности WSGI-серверов: вернем uWSGI на место

Настройка Linux *Python **nix *Тестирование веб-сервисов *

На прошлой неделе был опубликован перевод статьи двухлетней давности Анализ производительности WSGI-серверов: Часть вторая, где незаслужено был обделен славой uWSGI.


Необходимо срочно перепроверить тесты!


Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 9.1K
Комментарии 9

Практикум RHEL 8 Beta: Собираем работающие веб-приложения

Блог компании Red Hat Настройка Linux *Open source *Django *Разработка под Linux *
RHEL 8 Beta предлагает разработчикам много новых возможностей, перечисление которых может занять страницы, однако, изучать новое всегда лучше на практике, поэтому ниже предлагаем пройти практикум реального создания инфраструктуры приложений на базе Red Hat Enterprise Linux 8 Beta.



За основу возьмем Python, комбинацию Django и PostgreSQL, довольно распространенную связку для создания приложений, и сконфигурируем RHEL 8 Beta для работы с ними. Потом добавим еще пару (несекретных) ингредиентов.
Читать дальше: Собираем работающие веб-приложения с RHEL 8 Beta
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 3.2K
Комментарии 0

Настройка Debian, Nginx и Gunicorn для Django проекта

Django *Nginx *
Из песочницы


Всем доброго времени суток.

Была задача поднять свой Debian сервер на Nginx для проектов Django 3.х. Перерыв кучу информации в интернете, удалось это сделать соединив рекомендации с нескольких разных сайтов. Если вам интересно почитать, как настроить свой первый сервер для Django-проекта, то — добро пожаловать.
Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 27K
Комментарии 12

Краткая история о том, как развернуть веб-сервер Flask в docker контейнере

Блог компании МегаФон Python *Программирование *Flask *
Tutorial

Для чего вообще нужен docker контейнер? Обычно, во время разработки, для каждого проекта вы настраиваете своё окружение. Но вот произошла такая ситуация: что-то случилось с вашим компьютером и приходится переустанавливать операционную систему(ОС). Соответственно, чтобы запустить ваш проект, необходимо настраивать окружение заново. Бывает ещё гигантское количество ситуаций, которые сводятся к одной проблеме - настройка окружения для разработки. 

Читать далее
Всего голосов 9: ↑5 и ↓4 +1
Просмотры 10K
Комментарии 10

Запуск Django сайта на nginx + Gunicorn + SSL

Разработка веб-сайтов *Python *Django *Nginx *
Из песочницы
✏️ Технотекст 2021

Для написания этой статьи ушло очень много сил и времени. Я натыкался на множество инструкций, как на английском, так и на русском языках, но как я понял, - они все были клонами оригинальной статьи на Digital Ocean. Спросите вы, почему я так считаю, а все потому, что все ошибки и неточности передаются с одного ресурса на другой без всяких изменений.

Читать далее
Всего голосов 19: ↑13 и ↓6 +7
Просмотры 21K
Комментарии 40

Развертывание приложений Django

Python *Django *Nginx *

После того, как мы закончили разработку веб-приложения, оно должно быть размещено на хосте, чтобы общественность могла получить доступ к нему из любого места. Мы посмотрим, как развернуть и разместить приложение на экземпляре AWS EC2, используя Nginx в качестве веб-сервера и Gunicorn в качестве WSGI.

Читать далее
Всего голосов 11: ↑1 и ↓10 -9
Просмотры 8.1K
Комментарии 9

Почему наш стартап переехал с Flask на FastAPI

Блог компании Конференции Олега Бунина (Онтико) Блог компании Datafold Python *Программирование *Big Data *

Как так оказалось, что стартап решил поменять стек? Это же затраты и все возникающие при этом сложности переезда. Но если хочешь получить короткий, эргономичный, хорошо читаемый код, приходится идти на жертвы. Но давайте по порядку.

Алекс Морозов, co-founder & CTO в компании Datafold, рассказал, как они переехали с Flask на FastAPI и поделился собственным опытом такого переезда. Это не только то, что пишут в документации, а конкретные проблемы, с которыми они столкнулись при переезде, и как они их обошли. На примерах посмотрим, что стоит сделать, а каких решений лучше избегать.

Читать далее
Всего голосов 24: ↑22 и ↓2 +20
Просмотры 15K
Комментарии 8