Nginx+python: Difference between revisions
No edit summary |
No edit summary |
||
| Line 4: | Line 4: | ||
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой. |
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой. |
||
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа. |
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа. |
||
<br /> |
|||
<br /> |
|||
<br /> |
|||
<br /> |
|||
<br /> |
|||
<br /> |
|||
<br /> |
|||
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu= |
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu= |
||
В этой инструкции я буду развертывать |
В этой инструкции я буду развертывать Python приложение на Nginx. |
||
<br />Инструкция |
<br />Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask. |
||
==Необходимые технологии== |
==Необходимые технологии== |
||
Для реализации нам потребуются следующие технологии: |
Для реализации нам потребуются следующие технологии: |
||
| Line 13: | Line 19: | ||
* '''Python''' |
* '''Python''' |
||
* '''uWSGI''' - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера. |
* '''uWSGI''' - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера. |
||
* '''Django''' |
|||
<br /> Стек наших компонентов будет выглядеть следующим образом: |
<br /> Стек наших компонентов будет выглядеть следующим образом: |
||
<br />[[File:Nginx2stk.png|800px| Cтек]] |
<br />[[File:Nginx2stk.png|800px| Cтек]] |
||
Revision as of 21:59, 7 December 2022
Что такое Nginx

Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.
Инструкция по развертыванию Python приложений на Nginx в Ubuntu
В этой инструкции я буду развертывать Python приложение на Nginx.
Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask.
Необходимые технологии
Для реализации нам потребуются следующие технологии:
- Nginx
- Python
- uWSGI - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.
Стек наших компонентов будет выглядеть следующим образом:
Устанавливаем Python
Для начала работы нам нужен сам язык python и пакеты для работы с ним.
sudo apt-get update
sudo apt-get install python3 python3-pip python3-dev
- python3-pip- установщик пакетов python
- python3-dev - стандартный набор библиотек для разработчика
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:
sudo pip3 install virtualenv
Настраиваем виртуальное окружение
Создаем виртуальное окружение для uWSGI:
virtualenv uwsgi-test
Переходим в директорию
cd uwsgi-test/
Активируем окружение:
source ./bin/activate
uWSGI
apt-get install uwsgi uwsgi-plugin-python3
