<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.nc.ut.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ilia</id>
	<title>TÜ Narva Kolledži Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.nc.ut.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ilia"/>
	<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Special:Contributions/Ilia"/>
	<updated>2026-10-30T15:13:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1758</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1758"/>
		<updated>2022-12-08T11:26:06Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Python приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2stk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| venv]]&lt;br /&gt;
&lt;br /&gt;
==uWSGI==&lt;br /&gt;
В окружение устанавливаем uwsgi:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install uwsgi&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь нам нужно проверить, работает ли uWSGI. Для этого создадим наше тестовое приложение в одном файле testapp.py&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo touch testapp.py&lt;br /&gt;
sudo nano testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def application(env, start_response):&lt;br /&gt;
    start_response(&#039;200 OK&#039;, [(&#039;Content-Type&#039;,&#039;text/html&#039;)])&lt;br /&gt;
    return [b&amp;quot;uWSGI works&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь запускаем uWSGI на порт 8000&lt;br /&gt;
&amp;lt;pre&amp;gt;uwsgi --http :8000 --wsgi-file testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
После этого можно перейти в браузер и перейти по адресу &amp;lt;ip-address&amp;gt;:8000 и убедиться, что все работает&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Srnshot2ilia.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;На этом этапе мы реализовали такую связь компонентов:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2tb.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;В этом случае пользователь напрямую обращается к uWSGI. Теперь можно деактивировать виртуальную среду.&lt;br /&gt;
&amp;lt;pre&amp;gt; deactivate &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь настроим uWSGI так, чтобы не запускать каждое приложение в ручную:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt-get install uwsgi uwsgi-plugin-python3&lt;br /&gt;
sudo nano /etc/uwsgi/apps-enabled/python_app.ini &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
sudo apt-get install uwsgi uwsgi-plugin-python3&lt;br /&gt;
sudo nano /var/testweb/wsgi-test/testapp.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[uwsgi]&lt;br /&gt;
module = wsgi:application&lt;br /&gt;
chdir = /var/testweb/wsgi-test&lt;br /&gt;
plugins = python3&lt;br /&gt;
max-requests = 5000&lt;br /&gt;
&lt;br /&gt;
socket = testapp.sock&lt;br /&gt;
chmod-socket = 664&lt;br /&gt;
vacuum = true&lt;br /&gt;
&lt;br /&gt;
die-on-term = true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь нам нужно создать свою программу uwsgislave со следующим скриптом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
description &amp;quot;uWSGI serving testapp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
start on runlevel [2345]&lt;br /&gt;
stop on runlevel [!2345]&lt;br /&gt;
&lt;br /&gt;
setuid user&lt;br /&gt;
setgid www-data&lt;br /&gt;
&lt;br /&gt;
script&lt;br /&gt;
    cd /home/testweb/wsgi-test&lt;br /&gt;
    . myappenv/bin/activate&lt;br /&gt;
    uwsgi --ini testapp.ini&lt;br /&gt;
end script&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и запустим его&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo start uwsgislave &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hастройка nginx+uwsgi==&lt;br /&gt;
После установки nginx создадим файл для работы c нашим приложением&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/nginx/sites-available/testapp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 80;&lt;br /&gt;
    server_name &amp;lt;ip-address&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include         uwsgi_params;&lt;br /&gt;
        uwsgi_pass      unix:/home/testweb/wsgi-test/testapp.sock;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Чтобы разрешить конфигурации мы должны сделать ссылку на разрешенные сайты:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Перезапускаем наш сервер&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo service nginx restart &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И убеждаемся, что все работает. Теперь подсоединение происходит не через порт, nginx перенаправляет через сокет на сервер uWSGI.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:finresultnginx.png|800px| Ccr]]&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1757</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1757"/>
		<updated>2022-12-08T11:15:47Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Python приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2stk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| venv]]&lt;br /&gt;
&lt;br /&gt;
==uWSGI==&lt;br /&gt;
В окружение устанавливаем uwsgi:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install uwsgi&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь нам нужно проверить, работает ли uWSGI. Для этого создадим наше тестовое приложение в одном файле testapp.py&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo touch testapp.py&lt;br /&gt;
sudo nano testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def application(env, start_response):&lt;br /&gt;
    start_response(&#039;200 OK&#039;, [(&#039;Content-Type&#039;,&#039;text/html&#039;)])&lt;br /&gt;
    return [b&amp;quot;uWSGI works&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь запускаем uWSGI на порт 8000&lt;br /&gt;
&amp;lt;pre&amp;gt;uwsgi --http :8000 --wsgi-file testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
После этого можно перейти в браузер и перейти по адресу &amp;lt;ip-address&amp;gt;:8000 и убедиться, что все работает&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Srnshot2ilia.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;На этом этапе мы реализовали такую связь компонентов:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2tb.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;В этом случае пользователь напрямую обращается к uWSGI. Теперь можно деактивировать виртуальную среду.&lt;br /&gt;
&amp;lt;pre&amp;gt; deactivate &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь настроим uWSGI так, чтобы не запускать каждое приложение в ручную:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt-get install uwsgi uwsgi-plugin-python3&lt;br /&gt;
sudo nano /etc/uwsgi/apps-enabled/python_app.ini &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
sudo apt-get install uwsgi uwsgi-plugin-python3&lt;br /&gt;
sudo nano /var/testweb/wsgi-test/testapp.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[uwsgi]&lt;br /&gt;
module = wsgi:application&lt;br /&gt;
chdir = /var/testweb/wsgi-test&lt;br /&gt;
plugins = python3&lt;br /&gt;
max-requests = 5000&lt;br /&gt;
&lt;br /&gt;
socket = testapp.sock&lt;br /&gt;
chmod-socket = 664&lt;br /&gt;
vacuum = true&lt;br /&gt;
&lt;br /&gt;
die-on-term = true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь нам нужно создать свою программу uwsgislave со следующим скриптом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
description &amp;quot;uWSGI serving testapp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
start on runlevel [2345]&lt;br /&gt;
stop on runlevel [!2345]&lt;br /&gt;
&lt;br /&gt;
setuid user&lt;br /&gt;
setgid www-data&lt;br /&gt;
&lt;br /&gt;
script&lt;br /&gt;
    cd /home/testweb/wsgi-test&lt;br /&gt;
    . myappenv/bin/activate&lt;br /&gt;
    uwsgi --ini testapp.ini&lt;br /&gt;
end script&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и запустим его&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo start uwsgislave &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hастройка nginx+uwsgi==&lt;br /&gt;
После установки nginx создадим файл для работы c нашим приложением&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/nginx/sites-available/testapp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 80;&lt;br /&gt;
    server_name &amp;lt;ip-address&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include         uwsgi_params;&lt;br /&gt;
        uwsgi_pass      unix:/home/testweb/wsgi-test/testapp.sock;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Чтобы разрешить конфигурации мы должны сделать ссылку на разрешенные сайты:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Перезапускаем наш сервер&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo service nginx restart &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И убеждаемся, что все работает&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:finresultnginx.png|800px| Ccr]]&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1756</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1756"/>
		<updated>2022-12-08T01:00:58Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Python приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2stk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| venv]]&lt;br /&gt;
&lt;br /&gt;
==uWSGI==&lt;br /&gt;
В окружение устанавливаем uwsgi:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install uwsgi&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь нам нужно проверить, работает ли uWSGI. Для этого создадим наше тестовое приложение в одном файле testapp.py&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo touch testapp.py&lt;br /&gt;
sudo nano testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def application(env, start_response):&lt;br /&gt;
    start_response(&#039;200 OK&#039;, [(&#039;Content-Type&#039;,&#039;text/html&#039;)])&lt;br /&gt;
    return [b&amp;quot;uWSGI works&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь запускаем uWSGI на порт 8000&lt;br /&gt;
&amp;lt;pre&amp;gt;uwsgi --http :8000 --wsgi-file testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
После этого можно перейти в браузер и перейти по адресу &amp;lt;ip-address&amp;gt;:8000 и убедиться, что все работает&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Srnshot2ilia.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;На этом этапе мы реализовали такую связь компонентов:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2tb.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;В этом случае пользователь напрямую обращается к uWSGI. Теперь можно деактивировать виртуальную среду.&lt;br /&gt;
&amp;lt;pre&amp;gt; deactivate &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь настроим uWSGI так, чтобы не запускать каждое приложение в ручную:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt-get install uwsgi uwsgi-plugin-python3&lt;br /&gt;
sudo nano /etc/uwsgi/apps-enabled/python_app.ini &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
sudo apt-get install uwsgi uwsgi-plugin-python3&lt;br /&gt;
sudo nano /var/testweb/wsgi-test/testapp.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[uwsgi]&lt;br /&gt;
module = wsgi:application&lt;br /&gt;
chdir = /var/testweb/wsgi-test&lt;br /&gt;
plugins = python3&lt;br /&gt;
max-requests = 5000&lt;br /&gt;
&lt;br /&gt;
socket = testapp.sock&lt;br /&gt;
chmod-socket = 664&lt;br /&gt;
vacuum = true&lt;br /&gt;
&lt;br /&gt;
die-on-term = true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь нам нужно создать свою программу uwsgislave со следующим скриптом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
description &amp;quot;uWSGI serving testapp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
start on runlevel [2345]&lt;br /&gt;
stop on runlevel [!2345]&lt;br /&gt;
&lt;br /&gt;
setuid user&lt;br /&gt;
setgid www-data&lt;br /&gt;
&lt;br /&gt;
script&lt;br /&gt;
    cd /home/demo/myapp&lt;br /&gt;
    . myappenv/bin/activate&lt;br /&gt;
    uwsgi --ini testapp.ini&lt;br /&gt;
end script&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и запустим его&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo start uwsgislave &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hастройка nginx+uwsgi==&lt;br /&gt;
После установки nginx создадим файл для работы c нашим приложением&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/nginx/sites-available/testapp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 80;&lt;br /&gt;
    server_name &amp;lt;ip-address&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include         uwsgi_params;&lt;br /&gt;
        uwsgi_pass      unix:/home/testweb/wsgi-test/testapp.sock;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Чтобы разрешить конфигурации мы должны сделать ссылку на разрешенные сайты:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Перезапускаем наш сервер&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo service nginx restart &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И убеждаемся, что все работает&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:finresultnginx.png|800px| Ccr]]&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1755</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1755"/>
		<updated>2022-12-08T00:39:55Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Python приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2stk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| venv]]&lt;br /&gt;
&lt;br /&gt;
==uWSGI==&lt;br /&gt;
В окружение устанавливаем uwsgi:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install uwsgi&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь нам нужно проверить, работает ли uWSGI. Для этого создадим наше тестовое приложение в одном файле testapp.py&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo touch testapp.py&lt;br /&gt;
sudo nano testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def application(env, start_response):&lt;br /&gt;
    start_response(&#039;200 OK&#039;, [(&#039;Content-Type&#039;,&#039;text/html&#039;)])&lt;br /&gt;
    return [b&amp;quot;uWSGI works&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь запускаем uWSGI на порт 8000&lt;br /&gt;
&amp;lt;pre&amp;gt;uwsgi --http :8000 --wsgi-file testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
После этого можно перейти в браузер и перейти по адресу &amp;lt;ip-address&amp;gt;:8000 и убедиться, что все работает&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Srnshot2ilia.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;На этом этапе мы реализовали такую связь компонентов:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2tb.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;В этом случае пользователь напрямую обращается к uWSGI. Теперь можно деактивировать виртуальную среду.&lt;br /&gt;
&amp;lt;pre&amp;gt; deactivate &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь настроим uWSGI так, чтобы не запускать каждое приложение в ручную:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt-get install uwsgi uwsgi-plugin-python3&lt;br /&gt;
sudo nano /etc/uwsgi/apps-enabled/python_app.ini &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
sudo apt-get install uwsgi uwsgi-plugin-python3&lt;br /&gt;
sudo nano /var/testweb/wsgi-test/testapp.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[uwsgi]&lt;br /&gt;
module = wsgi:application&lt;br /&gt;
chdir = /var/testweb/wsgi-test&lt;br /&gt;
plugins = python3&lt;br /&gt;
max-requests = 5000&lt;br /&gt;
&lt;br /&gt;
socket = wsgi-test.sock&lt;br /&gt;
chmod-socket = 664&lt;br /&gt;
vacuum = true&lt;br /&gt;
&lt;br /&gt;
die-on-term = true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь нам нужно создать свою программу uwsgislave со следующим скриптом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
description &amp;quot;uWSGI serving testapp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
start on runlevel [2345]&lt;br /&gt;
stop on runlevel [!2345]&lt;br /&gt;
&lt;br /&gt;
setuid user&lt;br /&gt;
setgid www-data&lt;br /&gt;
&lt;br /&gt;
script&lt;br /&gt;
    cd /home/demo/myapp&lt;br /&gt;
    . myappenv/bin/activate&lt;br /&gt;
    uwsgi --ini testapp.ini&lt;br /&gt;
end script&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и запустим его&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo start uwsgislave &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hастройка nginx+uwsgi==&lt;br /&gt;
После установки nginx создадим файл для работы c нашим приложением&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/nginx/sites-available/testapp&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 80;&lt;br /&gt;
    server_name &amp;lt;ip-address&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        include         uwsgi_params;&lt;br /&gt;
        uwsgi_pass      unix:/home/testweb/wsgi-test/testapp.sock;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Чтобы разрешить конфигурации мы должны сделать ссылку на разрешенные сайты:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Перезапускаем наш сервер&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo service nginx restart &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И убеждаемся, что все работает&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:finresultnginx.png|800px| Ccr]]&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=File:Finresultnginx.png&amp;diff=1754</id>
		<title>File:Finresultnginx.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=File:Finresultnginx.png&amp;diff=1754"/>
		<updated>2022-12-08T00:39:40Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1753</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1753"/>
		<updated>2022-12-07T23:56:50Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Python приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2stk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| venv]]&lt;br /&gt;
&lt;br /&gt;
==uWSGI==&lt;br /&gt;
В окружение устанавливаем uwsgi:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install uwsgi&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь нам нужно проверить, работает ли uWSGI. Для этого создадим наше тестовое приложение в одном файле testapp.py&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo touch testapp.py&lt;br /&gt;
sudo nano testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def application(env, start_response):&lt;br /&gt;
    start_response(&#039;200 OK&#039;, [(&#039;Content-Type&#039;,&#039;text/html&#039;)])&lt;br /&gt;
    return [b&amp;quot;uWSGI works&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь запускаем uWSGI на порт 8000&lt;br /&gt;
&amp;lt;pre&amp;gt;uwsgi --http :8000 --wsgi-file testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
После этого можно перейти в браузер и перейти по адресу &amp;lt;ip-address&amp;gt;:8000 и убедиться, что все работает&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Srnshot2ilia.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;На этом этапе мы реализовали такую связь компонентов:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2tb.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;В этом случае пользователь напрямую обращается к uWSGI. Теперь можно деактивировать виртуальную среду.&lt;br /&gt;
&amp;lt;pre&amp;gt; deactivate &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь настроим uWSGI так, чтобы не запускать каждое приложение в ручную:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt-get install uwsgi uwsgi-plugin-python3&lt;br /&gt;
sudo nano /etc/uwsgi/apps-enabled/python_app.ini &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
sudo apt-get install uwsgi uwsgi-plugin-python3&lt;br /&gt;
sudo nano /var/testweb/wsgi-test/testapp.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[uwsgi]&lt;br /&gt;
module = wsgi:application&lt;br /&gt;
chdir = /var/testweb/wsgi-test&lt;br /&gt;
plugins = python3&lt;br /&gt;
max-requests = 5000&lt;br /&gt;
&lt;br /&gt;
socket = wsgi-test.sock&lt;br /&gt;
chmod-socket = 664&lt;br /&gt;
vacuum = true&lt;br /&gt;
&lt;br /&gt;
die-on-term = true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь нам нужно создать свою программу со следующим скриптом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
description &amp;quot;uWSGI instance to serve myapp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
start on runlevel [2345]&lt;br /&gt;
stop on runlevel [!2345]&lt;br /&gt;
&lt;br /&gt;
setuid demo&lt;br /&gt;
setgid www-data&lt;br /&gt;
&lt;br /&gt;
script&lt;br /&gt;
    cd /home/demo/myapp&lt;br /&gt;
    . myappenv/bin/activate&lt;br /&gt;
    uwsgi --ini myapp.ini&lt;br /&gt;
end script&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable uwsgi&lt;br /&gt;
sudo systemctl restart uwsgi &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Установка nginx==&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1752</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1752"/>
		<updated>2022-12-07T23:51:41Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Python приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2stk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| venv]]&lt;br /&gt;
&lt;br /&gt;
==uWSGI==&lt;br /&gt;
В окружение устанавливаем uwsgi:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install uwsgi&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь нам нужно проверить, работает ли uWSGI. Для этого создадим наше тестовое приложение в одном файле testapp.py&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo touch testapp.py&lt;br /&gt;
sudo nano testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def application(env, start_response):&lt;br /&gt;
    start_response(&#039;200 OK&#039;, [(&#039;Content-Type&#039;,&#039;text/html&#039;)])&lt;br /&gt;
    return [b&amp;quot;uWSGI works&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь запускаем uWSGI на порт 8000&lt;br /&gt;
&amp;lt;pre&amp;gt;uwsgi --http :8000 --wsgi-file testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
После этого можно перейти в браузер и перейти по адресу &amp;lt;ip-address&amp;gt;:8000 и убедиться, что все работает&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Srnshot2ilia.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;На этом этапе мы реализовали такую связь компонентов:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2tb.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;В этом случае пользователь напрямую обращается к uWSGI. Теперь можно деактивировать виртуальную среду.&lt;br /&gt;
&amp;lt;pre&amp;gt; deactivate &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь настроим uWSGI так, чтобы не запускать каждое приложение в ручную:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt-get install uwsgi uwsgi-plugin-python3&lt;br /&gt;
sudo nano /etc/uwsgi/apps-enabled/python_app.ini &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
sudo apt-get install uwsgi uwsgi-plugin-python3&lt;br /&gt;
sudo nano /var/testweb/wsgi-test/testapp.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[uwsgi]&lt;br /&gt;
module = wsgi:application&lt;br /&gt;
chdir = /var/testweb/wsgi-test&lt;br /&gt;
plugins = python3&lt;br /&gt;
max-requests = 5000&lt;br /&gt;
processes = 5&lt;br /&gt;
threads = 2&lt;br /&gt;
master = true&lt;br /&gt;
http = 0.0.0.0:8000&lt;br /&gt;
die-on-term = true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разрешаем наш сервис и запускаем его:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl enable uwsgi&lt;br /&gt;
sudo systemctl restart uwsgi &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Установка nginx==&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1751</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1751"/>
		<updated>2022-12-07T23:26:51Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Python приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2stk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| venv]]&lt;br /&gt;
&lt;br /&gt;
==uWSGI==&lt;br /&gt;
В окружение устанавливаем uwsgi:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install uwsgi&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь нам нужно проверить, работает ли uWSGI. Для этого создадим наше тестовое приложение в одном файле testapp.py&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo touch testapp.py&lt;br /&gt;
sudo nano testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def application(env, start_response):&lt;br /&gt;
    start_response(&#039;200 OK&#039;, [(&#039;Content-Type&#039;,&#039;text/html&#039;)])&lt;br /&gt;
    return [b&amp;quot;uWSGI works&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь запускаем uWSGI на порт 8000&lt;br /&gt;
&amp;lt;pre&amp;gt;uwsgi --http :8000 --wsgi-file testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
После этого можно перейти в браузер и перейти по адресу &amp;lt;ip-address&amp;gt;:8000 и убедиться, что все работает&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Srnshot2ilia.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;На этом этапе мы реализовали такую связь компонентов:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2tb.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;В этом случае пользователь напрямую обращается к uWSGI. Теперь можно деактивировать виртуальную среду.&lt;br /&gt;
&amp;lt;pre&amp;gt; deactivate &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь настроим uWSGI так, чтобы не запускать каждое приложение в ручную:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt-get install uwsgi uwsgi-plugin-python3&lt;br /&gt;
sudo nano /etc/uwsgi/apps-enabled/python_app.ini &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
sudo apt-get install uwsgi uwsgi-plugin-python3&lt;br /&gt;
sudo nano /etc/uwsgi/apps-enabled/testapp.ini&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[uwsgi]&lt;br /&gt;
module = wsgi:application&lt;br /&gt;
chdir = /var/testweb/wsgi-test&lt;br /&gt;
plugins = python3&lt;br /&gt;
max-requests = 5000&lt;br /&gt;
processes = 5&lt;br /&gt;
threads = 2&lt;br /&gt;
master = true&lt;br /&gt;
http = 0.0.0.0:8000&lt;br /&gt;
die-on-term = true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
systemctl enable uwsgi&lt;br /&gt;
&lt;br /&gt;
systemctl restart uwsgi &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Установка nginx==&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1750</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1750"/>
		<updated>2022-12-07T23:26:04Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Python приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2stk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| venv]]&lt;br /&gt;
&lt;br /&gt;
==uWSGI==&lt;br /&gt;
В окружение устанавливаем uwsgi:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install uwsgi&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь нам нужно проверить, работает ли uWSGI. Для этого создадим наше тестовое приложение в одном файле testapp.py&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo touch testapp.py&lt;br /&gt;
sudo nano testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def application(env, start_response):&lt;br /&gt;
    start_response(&#039;200 OK&#039;, [(&#039;Content-Type&#039;,&#039;text/html&#039;)])&lt;br /&gt;
    return [b&amp;quot;uWSGI works&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь запускаем uWSGI на порт 8000&lt;br /&gt;
&amp;lt;pre&amp;gt;uwsgi --http :8000 --wsgi-file testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
После этого можно перейти в браузер и перейти по адресу &amp;lt;ip-address&amp;gt;:8000 и убедиться, что все работает&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Srnshot2ilia.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;На этом этапе мы реализовали такую связь компонентов:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2tb.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;В этом случае пользователь напрямую обращается к uWSGI. Теперь можно деактивировать виртуальную среду.&lt;br /&gt;
&amp;lt;pre&amp;gt; deactivate &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь настроим uWSGI так, чтобы не запускать каждое приложение в ручную:&lt;br /&gt;
&amp;lt;pre&amp;gt; sudo apt-get install uwsgi uwsgi-plugin-python3&lt;br /&gt;
sudo nano /etc/uwsgi/apps-enabled/python_app.ini &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
sudo apt-get install uwsgi uwsgi-plugin-python3&lt;br /&gt;
sudo nano /etc/uwsgi/apps-enabled/testapp.ini &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[uwsgi]&lt;br /&gt;
module = wsgi:application&lt;br /&gt;
chdir = /var/testweb/wsgi-test&lt;br /&gt;
plugins = python3&lt;br /&gt;
max-requests = 5000&lt;br /&gt;
processes = 5&lt;br /&gt;
threads = 2&lt;br /&gt;
master = true&lt;br /&gt;
http = 0.0.0.0:8000&lt;br /&gt;
die-on-term = true&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
systemctl enable uwsgi&lt;br /&gt;
&lt;br /&gt;
systemctl restart uwsgi &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Установка nginx==&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1749</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1749"/>
		<updated>2022-12-07T23:01:59Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Python приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2stk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| venv]]&lt;br /&gt;
&lt;br /&gt;
==uWSGI==&lt;br /&gt;
В окружение устанавливаем uwsgi:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install uwsgi&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь нам нужно проверить, работает ли uWSGI. Для этого создадим наше тестовое приложение в одном файле testapp.py&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo touch testapp.py&lt;br /&gt;
sudo nano testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def application(env, start_response):&lt;br /&gt;
    start_response(&#039;200 OK&#039;, [(&#039;Content-Type&#039;,&#039;text/html&#039;)])&lt;br /&gt;
    return [b&amp;quot;uWSGI works&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь запускаем uWSGI на порт 8000&lt;br /&gt;
&amp;lt;pre&amp;gt;uwsgi --http :8000 --wsgi-file testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
После этого можно перейти в браузер и перейти по адресу &amp;lt;ip-address&amp;gt;:8000 и убедиться, что все работает&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Srnshot2ilia.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;На этом этапе мы реализовали такую связь компонентов:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2tb.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;В этом случае пользователь напрямую обращается к uWSGI. Теперь можно деактивировать виртуальную среду.&lt;br /&gt;
&amp;lt;pre&amp;gt; deactivate &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Установка nginx==&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1748</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1748"/>
		<updated>2022-12-07T23:01:08Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Python приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2stk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| venv]]&lt;br /&gt;
&lt;br /&gt;
==uWSGI==&lt;br /&gt;
В окружение устанавливаем uwsgi:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install uwsgi&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь нам нужно проверить, работает ли uWSGI. Для этого создадим наше тестовое приложение в одном файле testapp.py&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo touch testapp.py&lt;br /&gt;
sudo nano testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def application(env, start_response):&lt;br /&gt;
    start_response(&#039;200 OK&#039;, [(&#039;Content-Type&#039;,&#039;text/html&#039;)])&lt;br /&gt;
    return [b&amp;quot;uWSGI works&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь запускаем uWSGI на порт 8000&lt;br /&gt;
&amp;lt;pre&amp;gt;uwsgi --http :8000 --wsgi-file testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
После этого можно перейти в браузер и перейти по адресу &amp;lt;ip-address&amp;gt;:8000 и убедиться, что все работает&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Srnshot2ilia.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;На этом этапе мы реализовали такую связь компонентов:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2tb.png|800px| Ccr]]&lt;br /&gt;
В этом случае пользователь напрямую обращается к uWSGI. Теперь можно деактивировать виртуальную среду.&lt;br /&gt;
&amp;lt;pre&amp;gt; deactivate &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Установка nginx==&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1747</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1747"/>
		<updated>2022-12-07T22:43:18Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Python приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2stk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| venv]]&lt;br /&gt;
&lt;br /&gt;
==uWSGI==&lt;br /&gt;
В окружение устанавливаем uwsgi:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install uwsgi&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь нам нужно проверить, работает ли uWSGI. Для этого создадим наше тестовое приложение в одном файле testapp.py&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo touch testapp.py&lt;br /&gt;
sudo nano testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def application(env, start_response):&lt;br /&gt;
    start_response(&#039;200 OK&#039;, [(&#039;Content-Type&#039;,&#039;text/html&#039;)])&lt;br /&gt;
    return [b&amp;quot;uWSGI works&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь запускаем uWSGI на порт 8000&lt;br /&gt;
&amp;lt;pre&amp;gt;uwsgi --http :8000 --wsgi-file testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
После этого можно перейти в браузер и перейти по адресу [ip-address]:8000 и убедиться, что все работает&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Srnshot2ilia.png|800px| Ccr]]&lt;br /&gt;
&amp;lt;br /&amp;gt;На этом этапе мы реализовали такую связь компонентов:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2tb.png|800px| Ccr]]&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=File:Nginx2tb.png&amp;diff=1746</id>
		<title>File:Nginx2tb.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=File:Nginx2tb.png&amp;diff=1746"/>
		<updated>2022-12-07T22:42:14Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1745</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1745"/>
		<updated>2022-12-07T22:42:03Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Python приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2stk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| venv]]&lt;br /&gt;
&lt;br /&gt;
==uWSGI==&lt;br /&gt;
В окружение устанавливаем uwsgi:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install uwsgi&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь нам нужно проверить, работает ли uWSGI. Для этого создадим наше тестовое приложение в одном файле testapp.py&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo touch testapp.py&lt;br /&gt;
sudo nano testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def application(env, start_response):&lt;br /&gt;
    start_response(&#039;200 OK&#039;, [(&#039;Content-Type&#039;,&#039;text/html&#039;)])&lt;br /&gt;
    return [b&amp;quot;uWSGI works&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь запускаем uWSGI на порт 8000&lt;br /&gt;
&amp;lt;pre&amp;gt;uwsgi --http :8000 --wsgi-file testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
После этого можно перейти в браузер и перейти по адресу [ip-address]:8000 и убедиться, что все работает&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Srnshot2ilia.png|800px| Ccr]]&lt;br /&gt;
На этом этапе мы реализовали такую связь компонентов:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2tb.png|800px| Ccr]]&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1744</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1744"/>
		<updated>2022-12-07T22:36:09Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Python приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2stk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| venv]]&lt;br /&gt;
&lt;br /&gt;
==uWSGI==&lt;br /&gt;
В окружение устанавливаем uwsgi:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install uwsgi&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь нам нужно проверить, работает ли uWSGI. Для этого создадим наше тестовое приложение в одном файле testapp.py&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo touch testapp.py&lt;br /&gt;
sudo nano testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def application(env, start_response):&lt;br /&gt;
    start_response(&#039;200 OK&#039;, [(&#039;Content-Type&#039;,&#039;text/html&#039;)])&lt;br /&gt;
    return [b&amp;quot;uWSGI works&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь запускаем uWSGI на порт 8000&lt;br /&gt;
&amp;lt;pre&amp;gt;uwsgi --http :8000 --wsgi-file testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
После этого можно перейти в браузер и перейти по адресу [ip-address]:8000&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Srnshot2ilia.png|800px| Ccr]]&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1743</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1743"/>
		<updated>2022-12-07T22:32:04Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Python приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2stk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| Cтек]]&lt;br /&gt;
&lt;br /&gt;
==uWSGI==&lt;br /&gt;
В окружение устанавливаем uwsgi:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install uwsgi&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь нам нужно проверить, работает ли uWSGI. Для этого создадим наше тестовое приложение в одном файле testapp.py&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo touch testapp.py&lt;br /&gt;
sudo nano testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def application(env, start_response):&lt;br /&gt;
    start_response(&#039;200 OK&#039;, [(&#039;Content-Type&#039;,&#039;text/html&#039;)])&lt;br /&gt;
    return [b&amp;quot;uWSGI works&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь запускаем uWSGI на порт 8000&lt;br /&gt;
uwsgi --http :8000 --wsgi-file testapp.py&lt;br /&gt;
После этого можно перейти в браузер и перейти по адресу [ip-address]:8000&lt;br /&gt;
[[File:Srnshot2ilia.png|800px| Cтек]]&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=File:Srnshot2ilia.png&amp;diff=1742</id>
		<title>File:Srnshot2ilia.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=File:Srnshot2ilia.png&amp;diff=1742"/>
		<updated>2022-12-07T22:31:54Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1741</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1741"/>
		<updated>2022-12-07T22:18:34Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Python приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2stk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| Cтек]]&lt;br /&gt;
&lt;br /&gt;
==uWSGI==&lt;br /&gt;
В окружение устанавливаем uwsgi:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install uwsgi&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь нам нужно проверить, работает ли uWSGI. Для этого создадим наше тестовое приложение в одном файле testapp.py&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo touch testapp.py&lt;br /&gt;
sudo nano testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
def application(env, start_response):&lt;br /&gt;
    start_response(&#039;200 OK&#039;, [(&#039;Content-Type&#039;,&#039;text/html&#039;)])&lt;br /&gt;
    return [b&amp;quot;uWSGI works&amp;quot;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1740</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1740"/>
		<updated>2022-12-07T22:17:03Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Python приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2stk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| Cтек]]&lt;br /&gt;
&lt;br /&gt;
==uWSGI==&lt;br /&gt;
В окружение устанавливаем uwsgi:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install uwsgi&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь нам нужно проверить, работает ли uWSGI. Для этого создадим наше тестовое приложение в одном файле testapp.py&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo touch testapp.py&lt;br /&gt;
sudo nano testapp.py&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
def application(env, start_response):&lt;br /&gt;
    start_response(&#039;200 OK&#039;, [(&#039;Content-Type&#039;,&#039;text/html&#039;)])&lt;br /&gt;
    return [b&amp;quot;uWSGI works&amp;quot;]&lt;br /&gt;
&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1739</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1739"/>
		<updated>2022-12-07T22:14:41Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Python приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2stk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| Cтек]]&lt;br /&gt;
&lt;br /&gt;
==uWSGI==&lt;br /&gt;
В окружение устанавливаем uwsgi:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install uwsgi&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь нам нужно проверить, работает ли uWSGI. Для этого создадим наше тестовое приложение в одном файле testapp.py&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo touch testapp.py&lt;br /&gt;
sudo nano testapp.py&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1738</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1738"/>
		<updated>2022-12-07T21:59:20Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Python приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция подойдет для абсолютно любого веб-приложения, написанного на языке Python, например Django или Flask.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2stk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| Cтек]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==uWSGI==&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install uwsgi uwsgi-plugin-python3&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1737</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1737"/>
		<updated>2022-12-07T21:56:00Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Django приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция так же подойдет для абсолютно любого веб-приложения, написанного на языке Python.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
* &#039;&#039;&#039;Django&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Nginx2stk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| Cтек]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==uWSGI==&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install uwsgi uwsgi-plugin-python3&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=File:Nginx2stk.png&amp;diff=1736</id>
		<title>File:Nginx2stk.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=File:Nginx2stk.png&amp;diff=1736"/>
		<updated>2022-12-07T21:55:45Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1735</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1735"/>
		<updated>2022-12-07T20:35:40Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Django приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция так же подойдет для абсолютно любого веб-приложения, написанного на языке Python.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
* &#039;&#039;&#039;Django&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:NginxStk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| Cтек]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==uWSGI==&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install uwsgi uwsgi-plugin-python3&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1734</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1734"/>
		<updated>2022-12-07T20:25:38Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Django приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция так же подойдет для абсолютно любого веб-приложения, написанного на языке Python.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
* &#039;&#039;&#039;Django&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:NginxStk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source ./bin/activate&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:scrnshotvirtualenv.png|800px| Cтек]]&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=File:Scrnshotvirtualenv.png&amp;diff=1733</id>
		<title>File:Scrnshotvirtualenv.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=File:Scrnshotvirtualenv.png&amp;diff=1733"/>
		<updated>2022-12-07T20:25:06Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1732</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1732"/>
		<updated>2022-12-07T20:12:29Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Django приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция так же подойдет для абсолютно любого веб-приложения, написанного на языке Python.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
* &#039;&#039;&#039;Django&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:NginxStk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Активируем окружение:&lt;br /&gt;
&amp;lt;pre&amp;gt;source bin/activate&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1731</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1731"/>
		<updated>2022-12-07T20:10:35Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Django приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция так же подойдет для абсолютно любого веб-приложения, написанного на языке Python.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
* &#039;&#039;&#039;Django&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:NginxStk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;br /&gt;
Создаем виртуальное окружение для uWSGI:&lt;br /&gt;
&amp;lt;pre&amp;gt;virtualenv uwsgi-test&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переходим в директорию&lt;br /&gt;
&amp;lt;pre&amp;gt;cd uwsgi-test/&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1730</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1730"/>
		<updated>2022-12-07T19:54:58Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Django приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция так же подойдет для абсолютно любого веб-приложения, написанного на языке Python.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
* &#039;&#039;&#039;Django&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:NginxStk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt-get install python3  python3-pip python3-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;python3-pip&#039;&#039;&#039;- установщик пакетов python&lt;br /&gt;
*&#039;&#039;&#039;python3-dev&#039;&#039;&#039; - стандартный набор библиотек для разработчика&lt;br /&gt;
Так же нам потребуется установить Python библиотеку для создания виртуального окружения:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pip3 install virtualenv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1729</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1729"/>
		<updated>2022-12-07T19:31:36Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Django приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция так же подойдет для абсолютно любого веб-приложения, написанного на языке Python.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
* &#039;&#039;&#039;Django&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:NginxStk.png|800px| Cтек]]&lt;br /&gt;
==Устанавливаем Python ==&lt;br /&gt;
Для начала работы нам нужен сам язык python и пакеты для работы с ним.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install python3 python3-dev python3-pip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Настраиваем виртуальное окружение==&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1728</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1728"/>
		<updated>2022-12-07T13:46:52Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;br /&gt;
&lt;br /&gt;
=Инструкция по развертыванию Python приложений на Nginx в Ubuntu=&lt;br /&gt;
В этой инструкции я буду развертывать Django приложение на Nginx. &lt;br /&gt;
&amp;lt;br /&amp;gt;Инструкция так же подойдет для абсолютно любого веб-приложения, написанного на языке Python.&lt;br /&gt;
==Необходимые технологии==&lt;br /&gt;
Для реализации нам потребуются следующие технологии:&lt;br /&gt;
* &#039;&#039;&#039;Nginx&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Python&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;uWSGI&#039;&#039;&#039; - это одна из реализаций интерфейса WSGI для взаимодействия приложений на языке Python и самого веб-сервера.&lt;br /&gt;
* &#039;&#039;&#039;Django&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br /&amp;gt; Стек наших компонентов будет выглядеть следующим образом:&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:NginxStk.png|800px| Cтек]]&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=File:NginxStk.png&amp;diff=1727</id>
		<title>File:NginxStk.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=File:NginxStk.png&amp;diff=1727"/>
		<updated>2022-12-07T13:15:50Z</updated>

		<summary type="html">&lt;p&gt;Ilia: Ilia uploaded a new version of File:NginxStk.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=File:NginxStk.png&amp;diff=1726</id>
		<title>File:NginxStk.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=File:NginxStk.png&amp;diff=1726"/>
		<updated>2022-12-07T13:12:06Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1591</id>
		<title>Nginx+python</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Nginx%2Bpython&amp;diff=1591"/>
		<updated>2022-11-24T20:21:58Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Что такое Nginx=&lt;br /&gt;
[[File:Logonginxil.png|250px|right| Nginx logo]]&lt;br /&gt;
Nginx - эффективный инструмент по развертыванию веб-сервера. Если посмотреть точное определение, то nginx - это веб-сервер, обратный прокси-сервер и почтовый прокси-сервер с открытым исходным кодом и асинхронной архитектурой.&lt;br /&gt;
В отличие от обычного веб-сервера, Nginx не создает отдельный поток для каждого запроса, а разделяет его на более мелкие отдельные структуры типа, называемые рабочими соединениями. Каждое из этих соединений обрабатывается отдельным рабочим процессом, и после выполнения они объединяются в один блок, который возвращает результат основному процессу данных. Один рабочий может одновременно обрабатывать до 1024 запросов одного типа.&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=File:Logonginxil.png&amp;diff=1590</id>
		<title>File:Logonginxil.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=File:Logonginxil.png&amp;diff=1590"/>
		<updated>2022-11-24T19:55:34Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=875</id>
		<title>Bitlocker</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=875"/>
		<updated>2022-09-16T20:31:32Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Введение=&lt;br /&gt;
Bitlocker - это приложение, предназначенное для шифрования всего носителя информации. Оно предназначено для защиты данных, обеспечивая полное надежное шифрование на носителе. Bitlocker может зашифровать весь диск, на котором находится Windows и данные. Если эта функция включена, любой файл, хранящийся на диске, автоматически шифруется. По умолчанию используется шифрование AES 128 или 256 бит. Шифрование защищает целостность информации на носителе, если она попадет в чужие руки. Используются различные методы, с применением доверенного платформенного модуля(TPM) и без него. TPM - это аппаратный компонент, установленный изготовителем компьютера на многих более новых компьютерах.TPM позволяет ограничить доступ к носителю за пределами конкретной системы.&lt;br /&gt;
 &lt;br /&gt;
==Методы проверки подлинности BitLocker==&lt;br /&gt;
{| class=&#039;wikitable&#039; style=&amp;quot;width:90%&amp;quot;&lt;br /&gt;
!Метод проверки подлинности !! Описание &lt;br /&gt;
|-&lt;br /&gt;
|Только TPM || TPM проверяет компоненты ранней загрузки.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + ПИН-код || TPM проверяет компоненты ранней загрузки. Пользователь должен ввести правильный ПИН-код перед продолжением процесса запуска и до разблокировки диска. TPM введет блокировку, если неправильный ПИН-код вводится повторно для защиты ПИН-кода от атак методом подбора. Число повторных попыток, которые активирует блокировку, является переменным.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + сетевой ключ || TPM успешно проверяет компоненты ранней загрузки, и с сервера WDS был предоставлен действительный зашифрованный сетевой ключ. Этот метод проверки подлинности обеспечивает автоматическую разблокировку томов операционной системы при перезагрузке системы, сохраняя при этом многофакторную проверку подлинности.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + ключ запуска || TPM успешно проверяет компоненты ранней загрузки, и был вставлен USB-флэш-накопитель, содержащий ключ запуска.&lt;br /&gt;
|-&lt;br /&gt;
|Только ключ запуска || Пользователю будет предложено ввести USB-устройство флэш-памяти с ключом восстановления и (или) ключом запуска, а затем перезагрузить компьютер.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Как использовать шифрование данных при помощи Bitlocker в Windows 11=&lt;br /&gt;
&lt;br /&gt;
1. Нажмите кнопку &#039;&#039;&#039;Start&#039;&#039;&#039; и выберете &#039;&#039;&#039;Settings&#039;&#039;&#039; (или нажать сочетание клавиш &#039;&#039;&#039;Windows key + I&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
[[File:ilia001.png|600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;2. В меню &#039;&#039;&#039;Settings&#039;&#039;&#039; слева выберете &#039;&#039;&#039;System&#039;&#039;&#039; и справа выберете &#039;&#039;&#039;Storage&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:ilia002.png|600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;3. В &#039;&#039;&#039;Storage&#039;&#039;&#039; выберете &#039;&#039;&#039;Advanced storage settings&#039;&#039;&#039; (Storage management section), затем выберете &#039;&#039;&#039;Disks &amp;amp; volumes&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:ilia003.png|600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;4. В секции &#039;&#039;&#039;Disks and volumes&#039;&#039;&#039; вам нужно выбрать диск, который вы собираетесь зашифровать с помощью &#039;&#039;&#039;BitLocker&#039;&#039;&#039;, затем нажмите на кнопку &#039;&#039;&#039;Properties&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:ilia004.png|600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;5. Затем нажмите на опцию &#039;&#039;&#039;Turn on BitLocker&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:ilia005.png|600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;6. Ещё раз нажмите &#039;&#039;&#039;Turn on BitLocker&#039;&#039;&#039; рядом с выбранным диском&lt;br /&gt;
&lt;br /&gt;
[[File:ilia006.png|600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;7. После нескольких проверок системы выберите способ резервного копирования ключа восстановления. Вы можете выбрать сохранение в учетной записи Microsoft, сохранение в файле или печать ключа восстановления.&lt;br /&gt;
* Ключ восстановления необходим для восстановления файлов без пароля. Если вы потеряете пароль и у вас не будет ключа восстановления, вы не сможете получить доступ к своим файлам. Настоятельно рекомендуется сделать это, хотя это и необязательно.&lt;br /&gt;
* Если вы решите сохранить 48-значный ключ восстановления, проще всего связать его со своей учетной записью Microsoft. Вы сможете восстановить ключ в разделе &#039;&#039;&#039;&amp;quot; BitLocker recovery&amp;quot; &#039;&#039;&#039; в настройках учетной записи.&lt;br /&gt;
&lt;br /&gt;
[[File:ilia007.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;8. После создания резервной копии ключа восстановления нажмите &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;9. На следующем экране выберете &#039;&#039;&#039;Encrypt used space only (faster and best for new PCs and drives)&#039;&#039;&#039; и нажмите &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:ilia009.png|600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;10. Вам нужно будет определить режим шифрования&lt;br /&gt;
* Для обеспечения наилучшей безопасности выберите &#039;&#039;&#039;New encryption mode&#039;&#039;&#039; в качестве предпочтительного режима шифрования, а затем нажмите &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
*Если вы планируете перенести диск BitLocker на ПК с Windows, использующий более старую версию Windows (более раннюю, чем Windows 10 версии 1511), вам нужно выбрать режим &#039;&#039;&#039;Compatible mode&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:ilia010.png|600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;11. Поставьте галочку &#039;&#039;&#039;Run BitLocker system check&#039;&#039;&#039; и нажмите &#039;&#039;&#039;Continue&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:ilia011.png|600px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;12. Чтобы завершить проверку и процесс шифрования нужно перезапустить Windows 11.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;13. После перезагрузки войдите и подождите пока BitLocker закончит шифрование. В File Explorer вы увидите значок замка на зашифрованном диске.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:ilia013.png|300px]]&lt;br /&gt;
&lt;br /&gt;
=Источники=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://docs.microsoft.com/en-us/windows/security/information-protection/bitlocker/bitlocker-basic-deployment официальный сайт Microsoft]&lt;br /&gt;
&lt;br /&gt;
[https://support.microsoft.com/en-us/windows/turn-on-device-encryption-0c453637-bc88-5f74-5105-741561aae838#:~:text=Or%2C%20select%20Start%20%3E%20Settings%20%3E,and%20then%20follow%20the%20instructions. сайт поддержки Microsoft]&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=797</id>
		<title>Bitlocker</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=797"/>
		<updated>2022-09-16T17:10:24Z</updated>

		<summary type="html">&lt;p&gt;Ilia: /* Как использовать Bitlocker в Windows 11 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Введение=&lt;br /&gt;
Bitlocker - это приложение, предназначенное для шифрования всего носителя информации. Оно предназначено для защиты данных, обеспечивая полное надежное шифрование на носителе. Bitlocker может зашифровать весь диск, на котором находится Windows и данные. Если эта функция включена, любой файл, хранящийся на диске, автоматически шифруется. По умолчанию используется шифрование AES 128 или 256 бит. Шифрование защищает целостность информации на носителе, если она попадет в чужие руки. Используются различные методы, с применением доверенного платформенного модуля(TPM) и без него. TPM - это аппаратный компонент, установленный изготовителем компьютера на многих более новых компьютерах.TPM позволяет ограничить доступ к носителю за пределами конкретной системы.&lt;br /&gt;
 &lt;br /&gt;
==Методы проверки подлинности BitLocker==&lt;br /&gt;
{| class=&#039;wikitable&#039; style=&amp;quot;width:70%&amp;quot;&lt;br /&gt;
!Метод проверки подлинности !! Описание &lt;br /&gt;
|-&lt;br /&gt;
|Только TPM || TPM проверяет компоненты ранней загрузки.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + ПИН-код || TPM проверяет компоненты ранней загрузки. Пользователь должен ввести правильный ПИН-код перед продолжением процесса запуска и до разблокировки диска. TPM введет блокировку, если неправильный ПИН-код вводится повторно для защиты ПИН-кода от атак методом подбора. Число повторных попыток, которые активирует блокировку, является переменным.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + сетевой ключ || TPM успешно проверяет компоненты ранней загрузки, и с сервера WDS был предоставлен действительный зашифрованный сетевой ключ. Этот метод проверки подлинности обеспечивает автоматическую разблокировку томов операционной системы при перезагрузке системы, сохраняя при этом многофакторную проверку подлинности.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + ключ запуска || TPM успешно проверяет компоненты ранней загрузки, и был вставлен USB-флэш-накопитель, содержащий ключ запуска.&lt;br /&gt;
|-&lt;br /&gt;
|Только ключ запуска || Пользователю будет предложено ввести USB-устройство флэш-памяти с ключом восстановления и (или) ключом запуска, а затем перезагрузить компьютер.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Как использовать шифрование данных при помощи Bitlocker в Windows 11=&lt;br /&gt;
&amp;lt;br /&amp;gt;1. Нажмите кнопку &#039;&#039;&#039;Start&#039;&#039;&#039; и выберете &#039;&#039;&#039;Settings&#039;&#039;&#039; (или нажать сочетание клавиш &#039;&#039;&#039;Windows key + I&#039;&#039;&#039;).&lt;br /&gt;
&amp;lt;br /&amp;gt;2. В меню &#039;&#039;&#039;Settings&#039;&#039;&#039; слева выберете &#039;&#039;&#039;System&#039;&#039;&#039; и справа выберете &#039;&#039;&#039;Storage&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;3. В &#039;&#039;&#039;Storage&#039;&#039;&#039; выберете &#039;&#039;&#039;Advanced storage settings&#039;&#039;&#039; (Storage management section), затем выберете &#039;&#039;&#039;Disks &amp;amp; volumes&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;4. В секции &#039;&#039;&#039;Disks and volumes&#039;&#039;&#039; вам нужно выбрать диск, который вы собираетесь зашифровать с помощью &#039;&#039;&#039;BitLocker&#039;&#039;&#039;, затем нажмите на кнопку &#039;&#039;&#039;Properties&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;5. Затем нажмите на опцию &#039;&#039;&#039;Turn on BitLocker&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;6. Ещё раз нажмите &#039;&#039;&#039;Turn on BitLocker&#039;&#039;&#039; рядом с выбранным диском&lt;br /&gt;
&amp;lt;br /&amp;gt;7. После нескольких проверок системы выберите способ резервного копирования ключа восстановления. Вы можете выбрать сохранение в учетной записи Microsoft, сохранение в файле или печать ключа восстановления.&lt;br /&gt;
* Ключ восстановления необходим для восстановления файлов без пароля. Если вы потеряете пароль и у вас не будет ключа восстановления, вы не сможете получить доступ к своим файлам. Настоятельно рекомендуется сделать это, хотя это и необязательно.&lt;br /&gt;
* Если вы решите сохранить 48-значный ключ восстановления, проще всего связать его со своей учетной записью Microsoft. Вы сможете восстановить ключ в разделе &#039;&#039;&#039;&amp;quot; BitLocker recovery&amp;quot; &#039;&#039;&#039; в настройках учетной записи.&lt;br /&gt;
&amp;lt;br /&amp;gt;8. После создания резервной копии ключа восстановления нажмите &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;9. На следующем экране выберете &#039;&#039;&#039;Encrypt used space only (faster and best for new PCs and drives)&#039;&#039;&#039; и нажмите &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;10. Вам нужно будет определить режим шифрования&lt;br /&gt;
* Для обеспечения наилучшей безопасности выберите &#039;&#039;&#039;New encryption mode&#039;&#039;&#039; в качестве предпочтительного режима шифрования, а затем нажмите &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
*Если вы планируете перенести диск BitLocker на ПК с Windows, использующий более старую версию Windows (более раннюю, чем Windows 10 версии 1511), вам нужно выбрать режим &#039;&#039;&#039;Compatible mode&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;11. Поставьте галочку &#039;&#039;&#039;Run BitLocker system check&#039;&#039;&#039; и нажмите &#039;&#039;&#039;Continue&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;12. Чтобы завершить проверку и процесс шифрования нужно перезапустить Windows 11.&lt;br /&gt;
&amp;lt;br /&amp;gt;13. После перезагрузки войдите и подождите пока BitLocker закончит шифрование. В File Explorer вы увидите значок замка на зашифрованном диске.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=790</id>
		<title>Bitlocker</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=790"/>
		<updated>2022-09-16T16:09:26Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Введение=&lt;br /&gt;
Bitlocker - это приложение, предназначенное для шифрования всего носителя информации. Оно предназначено для защиты данных, обеспечивая полное надежное шифрование на носителе. Bitlocker может зашифровать весь диск, на котором находится Windows и данные. Если эта функция включена, любой файл, хранящийся на диске, автоматически шифруется. По умолчанию используется шифрование AES 128 или 256 бит. Шифрование защищает целостность информации на носителе, если она попадет в чужие руки. Используются различные методы, с применением доверенного платформенного модуля(TPM) и без него. TPM - это аппаратный компонент, установленный изготовителем компьютера на многих более новых компьютерах.TPM позволяет ограничить доступ к носителю за пределами конкретной системы.&lt;br /&gt;
 &lt;br /&gt;
==Методы проверки подлинности BitLocker==&lt;br /&gt;
{| class=&#039;wikitable&#039; style=&amp;quot;width:70%&amp;quot;&lt;br /&gt;
!Метод проверки подлинности !! Описание &lt;br /&gt;
|-&lt;br /&gt;
|Только TPM || TPM проверяет компоненты ранней загрузки.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + ПИН-код || TPM проверяет компоненты ранней загрузки. Пользователь должен ввести правильный ПИН-код перед продолжением процесса запуска и до разблокировки диска. TPM введет блокировку, если неправильный ПИН-код вводится повторно для защиты ПИН-кода от атак методом подбора. Число повторных попыток, которые активирует блокировку, является переменным.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + сетевой ключ || TPM успешно проверяет компоненты ранней загрузки, и с сервера WDS был предоставлен действительный зашифрованный сетевой ключ. Этот метод проверки подлинности обеспечивает автоматическую разблокировку томов операционной системы при перезагрузке системы, сохраняя при этом многофакторную проверку подлинности.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + ключ запуска || TPM успешно проверяет компоненты ранней загрузки, и был вставлен USB-флэш-накопитель, содержащий ключ запуска.&lt;br /&gt;
|-&lt;br /&gt;
|Только ключ запуска || Пользователю будет предложено ввести USB-устройство флэш-памяти с ключом восстановления и (или) ключом запуска, а затем перезагрузить компьютер.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Как использовать Bitlocker в Windows 11=&lt;br /&gt;
&amp;lt;br /&amp;gt;1. Нажмите кнопку &#039;&#039;&#039;Start&#039;&#039;&#039; и выберете &#039;&#039;&#039;Settings&#039;&#039;&#039; (или нажать сочетание клавиш &#039;&#039;&#039;Windows key + I&#039;&#039;&#039;).&lt;br /&gt;
&amp;lt;br /&amp;gt;2. В меню &#039;&#039;&#039;Settings&#039;&#039;&#039; слева выберете &#039;&#039;&#039;System&#039;&#039;&#039; и справа выберете &#039;&#039;&#039;Storage&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;3. В &#039;&#039;&#039;Storage&#039;&#039;&#039; выберете &#039;&#039;&#039;Advanced storage settings&#039;&#039;&#039; (Storage management section), затем выберете &#039;&#039;&#039;Disks &amp;amp; volumes&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;4. В секции &#039;&#039;&#039;Disks and volumes&#039;&#039;&#039; вам нужно выбрать диск, который вы собираетесь зашифровать с помощью &#039;&#039;&#039;BitLocker&#039;&#039;&#039;, затем нажмите на кнопку &#039;&#039;&#039;Properties&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;5. Затем нажмите на опцию &#039;&#039;&#039;Turn on BitLocker&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;6. Ещё раз нажмите &#039;&#039;&#039;Turn on BitLocker&#039;&#039;&#039; рядом с выбранным диском&lt;br /&gt;
&amp;lt;br /&amp;gt;7. После нескольких проверок системы выберите способ резервного копирования ключа восстановления. Вы можете выбрать сохранение в учетной записи Microsoft, сохранение в файле или печать ключа восстановления.&lt;br /&gt;
* Ключ восстановления необходим для восстановления файлов без пароля. Если вы потеряете пароль и у вас не будет ключа восстановления, вы не сможете получить доступ к своим файлам. Настоятельно рекомендуется сделать это, хотя это и необязательно.&lt;br /&gt;
* Если вы решите сохранить 48-значный ключ восстановления, проще всего связать его со своей учетной записью Microsoft. Вы сможете восстановить ключ в разделе &#039;&#039;&#039;&amp;quot; BitLocker recovery&amp;quot; &#039;&#039;&#039; в настройках учетной записи.&lt;br /&gt;
&amp;lt;br /&amp;gt;8. После создания резервной копии ключа восстановления нажмите &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;9. На следующем экране выберете &#039;&#039;&#039;Encrypt used space only (faster and best for new PCs and drives)&#039;&#039;&#039; и нажмите &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;10. Вам нужно будет определить режим шифрования&lt;br /&gt;
* Для обеспечения наилучшей безопасности выберите &#039;&#039;&#039;New encryption mode&#039;&#039;&#039; в качестве предпочтительного режима шифрования, а затем нажмите &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
*Если вы планируете перенести диск BitLocker на ПК с Windows, использующий более старую версию Windows (более раннюю, чем Windows 10 версии 1511), вам нужно выбрать режим &#039;&#039;&#039;Compatible mode&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;11. Поставьте галочку &#039;&#039;&#039;Run BitLocker system check&#039;&#039;&#039; и нажмите &#039;&#039;&#039;Continue&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;12. Чтобы завершить проверку и процесс шифрования нужно перезапустить Windows 11.&lt;br /&gt;
&amp;lt;br /&amp;gt;13. После перезагрузки войдите и подождите пока BitLocker закончит шифрование. В File Explorer вы увидите значок замка на зашифрованном диске.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=789</id>
		<title>Bitlocker</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=789"/>
		<updated>2022-09-16T16:07:37Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Введение=&lt;br /&gt;
Bitlocker - это приложение, предназначенное для шифрования всего носителя информации. Оно предназначено для защиты данных, обеспечивая полное надежное шифрование на носителе. Bitlocker может зашифровать весь диск, на котором находится Windows и данные. Если эта функция включена, любой файл, хранящийся на диске, автоматически шифруется. По умолчанию используется шифрование AES 128 или 256 бит. Шифрование защищает целостность информации на носителе, если она попадет в чужие руки. Используются различные методы, с применением доверенного платформенного модуля(TPM) и без него. TPM - это аппаратный компонент, установленный изготовителем компьютера на многих более новых компьютерах.TPM позволяет ограничить доступ к носителю за пределами конкретной системы.&lt;br /&gt;
 &lt;br /&gt;
==Методы проверки подлинности BitLocker==&lt;br /&gt;
{| class=&#039;wikitable&#039; style=&amp;quot;margin:auto, width:50%&amp;quot;&lt;br /&gt;
!Метод проверки подлинности !! Описание &lt;br /&gt;
|-&lt;br /&gt;
|Только TPM || TPM проверяет компоненты ранней загрузки.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + ПИН-код || TPM проверяет компоненты ранней загрузки. Пользователь должен ввести правильный ПИН-код перед продолжением процесса запуска и до разблокировки диска. TPM введет блокировку, если неправильный ПИН-код вводится повторно для защиты ПИН-кода от атак методом подбора. Число повторных попыток, которые активирует блокировку, является переменным.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + сетевой ключ || TPM успешно проверяет компоненты ранней загрузки, и с сервера WDS был предоставлен действительный зашифрованный сетевой ключ. Этот метод проверки подлинности обеспечивает автоматическую разблокировку томов операционной системы при перезагрузке системы, сохраняя при этом многофакторную проверку подлинности.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + ключ запуска || TPM успешно проверяет компоненты ранней загрузки, и был вставлен USB-флэш-накопитель, содержащий ключ запуска.&lt;br /&gt;
|-&lt;br /&gt;
|Только ключ запуска || Пользователю будет предложено ввести USB-устройство флэш-памяти с ключом восстановления и (или) ключом запуска, а затем перезагрузить компьютер.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Как использовать Bitlocker в Windows 11=&lt;br /&gt;
&amp;lt;br /&amp;gt;1. Нажмите кнопку &#039;&#039;&#039;Start&#039;&#039;&#039; и выберете &#039;&#039;&#039;Settings&#039;&#039;&#039; (или нажать сочетание клавиш &#039;&#039;&#039;Windows key + I&#039;&#039;&#039;).&lt;br /&gt;
&amp;lt;br /&amp;gt;2. В меню &#039;&#039;&#039;Settings&#039;&#039;&#039; слева выберете &#039;&#039;&#039;System&#039;&#039;&#039; и справа выберете &#039;&#039;&#039;Storage&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;3. В &#039;&#039;&#039;Storage&#039;&#039;&#039; выберете &#039;&#039;&#039;Advanced storage settings&#039;&#039;&#039; (Storage management section), затем выберете &#039;&#039;&#039;Disks &amp;amp; volumes&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;4. В секции &#039;&#039;&#039;Disks and volumes&#039;&#039;&#039; вам нужно выбрать диск, который вы собираетесь зашифровать с помощью &#039;&#039;&#039;BitLocker&#039;&#039;&#039;, затем нажмите на кнопку &#039;&#039;&#039;Properties&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;5. Затем нажмите на опцию &#039;&#039;&#039;Turn on BitLocker&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;6. Ещё раз нажмите &#039;&#039;&#039;Turn on BitLocker&#039;&#039;&#039; рядом с выбранным диском&lt;br /&gt;
&amp;lt;br /&amp;gt;7. После нескольких проверок системы выберите способ резервного копирования ключа восстановления. Вы можете выбрать сохранение в учетной записи Microsoft, сохранение в файле или печать ключа восстановления.&lt;br /&gt;
* Ключ восстановления необходим для восстановления файлов без пароля. Если вы потеряете пароль и у вас не будет ключа восстановления, вы не сможете получить доступ к своим файлам. Настоятельно рекомендуется сделать это, хотя это и необязательно.&lt;br /&gt;
* Если вы решите сохранить 48-значный ключ восстановления, проще всего связать его со своей учетной записью Microsoft. Вы сможете восстановить ключ в разделе &#039;&#039;&#039;&amp;quot; BitLocker recovery&amp;quot; &#039;&#039;&#039; в настройках учетной записи.&lt;br /&gt;
&amp;lt;br /&amp;gt;8. После создания резервной копии ключа восстановления нажмите &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;9. На следующем экране выберете &#039;&#039;&#039;Encrypt used space only (faster and best for new PCs and drives)&#039;&#039;&#039; и нажмите &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;10. Вам нужно будет определить режим шифрования&lt;br /&gt;
* Для обеспечения наилучшей безопасности выберите &#039;&#039;&#039;New encryption mode&#039;&#039;&#039; в качестве предпочтительного режима шифрования, а затем нажмите &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
*Если вы планируете перенести диск BitLocker на ПК с Windows, использующий более старую версию Windows (более раннюю, чем Windows 10 версии 1511), вам нужно выбрать режим &#039;&#039;&#039;Compatible mode&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;11. Поставьте галочку &#039;&#039;&#039;Run BitLocker system check&#039;&#039;&#039; и нажмите &#039;&#039;&#039;Continue&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;12. Чтобы завершить проверку и процесс шифрования нужно перезапустить Windows 11.&lt;br /&gt;
&amp;lt;br /&amp;gt;13. После перезагрузки войдите и подождите пока BitLocker закончит шифрование. В File Explorer вы увидите значок замка на зашифрованном диске.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=788</id>
		<title>Bitlocker</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=788"/>
		<updated>2022-09-16T16:04:42Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Введение=&lt;br /&gt;
Bitlocker - это приложение, предназначенное для шифрования всего носителя информации. Оно предназначено для защиты данных, обеспечивая полное надежное шифрование на носителе. Bitlocker может зашифровать весь диск, на котором находится Windows и данные. Если эта функция включена, любой файл, хранящийся на диске, автоматически шифруется. По умолчанию используется шифрование AES 128 или 256 бит. Шифрование защищает целостность информации на носителе, если она попадет в чужие руки. Используются различные методы, с применением доверенного платформенного модуля(TPM) и без него. TPM - это аппаратный компонент, установленный изготовителем компьютера на многих более новых компьютерах.TPM позволяет ограничить доступ к носителю за пределами конкретной системы.&lt;br /&gt;
 &lt;br /&gt;
==Методы проверки подлинности BitLocker==&lt;br /&gt;
{| class=&#039;wikitable&#039; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
!Метод проверки подлинности !! Описание &lt;br /&gt;
|-&lt;br /&gt;
|Только TPM || TPM проверяет компоненты ранней загрузки.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + ПИН-код || TPM проверяет компоненты ранней загрузки. Пользователь должен ввести правильный ПИН-код перед продолжением процесса запуска и до разблокировки диска. TPM введет блокировку, если неправильный ПИН-код вводится повторно для защиты ПИН-кода от атак методом подбора. Число повторных попыток, которые активирует блокировку, является переменным.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + сетевой ключ || TPM успешно проверяет компоненты ранней загрузки, и с сервера WDS был предоставлен действительный зашифрованный сетевой ключ. Этот метод проверки подлинности обеспечивает автоматическую разблокировку томов операционной системы при перезагрузке системы, сохраняя при этом многофакторную проверку подлинности.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + ключ запуска || TPM успешно проверяет компоненты ранней загрузки, и был вставлен USB-флэш-накопитель, содержащий ключ запуска.&lt;br /&gt;
|-&lt;br /&gt;
|Только ключ запуска || Пользователю будет предложено ввести USB-устройство флэш-памяти с ключом восстановления и (или) ключом запуска, а затем перезагрузить компьютер.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Как использовать Bitlocker в Windows 11=&lt;br /&gt;
&amp;lt;br /&amp;gt;1. Нажмите кнопку &#039;&#039;&#039;Start&#039;&#039;&#039; и выберете &#039;&#039;&#039;Settings&#039;&#039;&#039; (или нажать сочетание клавиш &#039;&#039;&#039;Windows key + I&#039;&#039;&#039;).&lt;br /&gt;
&amp;lt;br /&amp;gt;2. В меню &#039;&#039;&#039;Settings&#039;&#039;&#039; слева выберете &#039;&#039;&#039;System&#039;&#039;&#039; и справа выберете &#039;&#039;&#039;Storage&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;3. В &#039;&#039;&#039;Storage&#039;&#039;&#039; выберете &#039;&#039;&#039;Advanced storage settings&#039;&#039;&#039; (Storage management section), затем выберете &#039;&#039;&#039;Disks &amp;amp; volumes&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;4. В секции &#039;&#039;&#039;Disks and volumes&#039;&#039;&#039; вам нужно выбрать диск, который вы собираетесь зашифровать с помощью &#039;&#039;&#039;BitLocker&#039;&#039;&#039;, затем нажмите на кнопку &#039;&#039;&#039;Properties&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;5. Затем нажмите на опцию &#039;&#039;&#039;Turn on BitLocker&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;6. Ещё раз нажмите &#039;&#039;&#039;Turn on BitLocker&#039;&#039;&#039; рядом с выбранным диском&lt;br /&gt;
&amp;lt;br /&amp;gt;7. После нескольких проверок системы выберите способ резервного копирования ключа восстановления. Вы можете выбрать сохранение в учетной записи Microsoft, сохранение в файле или печать ключа восстановления.&lt;br /&gt;
* Ключ восстановления необходим для восстановления файлов без пароля. Если вы потеряете пароль и у вас не будет ключа восстановления, вы не сможете получить доступ к своим файлам. Настоятельно рекомендуется сделать это, хотя это и необязательно.&lt;br /&gt;
* Если вы решите сохранить 48-значный ключ восстановления, проще всего связать его со своей учетной записью Microsoft. Вы сможете восстановить ключ в разделе &#039;&#039;&#039;&amp;quot; BitLocker recovery&amp;quot; &#039;&#039;&#039; в настройках учетной записи.&lt;br /&gt;
&amp;lt;br /&amp;gt;8. После создания резервной копии ключа восстановления нажмите &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;9. На следующем экране выберете &#039;&#039;&#039;Encrypt used space only (faster and best for new PCs and drives)&#039;&#039;&#039; и нажмите &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;10. Вам нужно будет определить режим шифрования&lt;br /&gt;
* Для обеспечения наилучшей безопасности выберите &#039;&#039;&#039;New encryption mode&#039;&#039;&#039; в качестве предпочтительного режима шифрования, а затем нажмите &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
*Если вы планируете перенести диск BitLocker на ПК с Windows, использующий более старую версию Windows (более раннюю, чем Windows 10 версии 1511), вам нужно выбрать режим &#039;&#039;&#039;Compatible mode&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;11. Поставьте галочку &#039;&#039;&#039;Run BitLocker system check&#039;&#039;&#039; и нажмите &#039;&#039;&#039;Continue&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;12. Чтобы завершить проверку и процесс шифрования нужно перезапустить Windows 11.&lt;br /&gt;
&amp;lt;br /&amp;gt;13. После перезагрузки войдите и подождите пока BitLocker закончит шифрование. В File Explorer вы увидите значок замка на зашифрованном диске.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=786</id>
		<title>Bitlocker</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=786"/>
		<updated>2022-09-16T15:32:33Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Введение=&lt;br /&gt;
Bitlocker - это приложение, предназначенное для шифрования всего носителя информации. Оно предназначено для защиты данных, обеспечивая полное надежное шифрование на носителе. Bitlocker может зашифровать весь диск, на котором находится Windows и данные. Если эта функция включена, любой файл, хранящийся на диске, автоматически шифруется. По умолчанию используется шифрование AES 128 или 256 бит. Шифрование защищает целостность информации на носителе, если она попадет в чужие руки. Используются различные методы, с применением доверенного платформенного модуля(TPM) и без него. TPM - это аппаратный компонент, установленный изготовителем компьютера на многих более новых компьютерах.TPM позволяет ограничить доступ к носителю за пределами конкретной системы.&lt;br /&gt;
 &lt;br /&gt;
==Методы проверки подлинности BitLocker==&lt;br /&gt;
{| class=&#039;wikitable&#039;&lt;br /&gt;
!Метод проверки подлинности !! Описание &lt;br /&gt;
|-&lt;br /&gt;
|Только TPM || TPM проверяет компоненты ранней загрузки.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + ПИН-код || TPM проверяет компоненты ранней загрузки. Пользователь должен ввести правильный ПИН-код перед продолжением процесса запуска и до разблокировки диска. TPM введет блокировку, если неправильный ПИН-код вводится повторно для защиты ПИН-кода от атак методом подбора. Число повторных попыток, которые активирует блокировку, является переменным.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + сетевой ключ || TPM успешно проверяет компоненты ранней загрузки, и с сервера WDS был предоставлен действительный зашифрованный сетевой ключ. Этот метод проверки подлинности обеспечивает автоматическую разблокировку томов операционной системы при перезагрузке системы, сохраняя при этом многофакторную проверку подлинности.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + ключ запуска || TPM успешно проверяет компоненты ранней загрузки, и был вставлен USB-флэш-накопитель, содержащий ключ запуска.&lt;br /&gt;
|-&lt;br /&gt;
|Только ключ запуска || Пользователю будет предложено ввести USB-устройство флэш-памяти с ключом восстановления и (или) ключом запуска, а затем перезагрузить компьютер.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Как использовать Bitlocker в Windows 11=&lt;br /&gt;
&amp;lt;br /&amp;gt;1. Нажмите кнопку &#039;&#039;&#039;Start&#039;&#039;&#039; и выберете &#039;&#039;&#039;Settings&#039;&#039;&#039; (или нажать сочетание клавиш &#039;&#039;&#039;Windows key + I&#039;&#039;&#039;).&lt;br /&gt;
&amp;lt;br /&amp;gt;2. В меню &#039;&#039;&#039;Settings&#039;&#039;&#039; слева выберете &#039;&#039;&#039;System&#039;&#039;&#039; и справа выберете &#039;&#039;&#039;Storage&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;3. В &#039;&#039;&#039;Storage&#039;&#039;&#039; выберете &#039;&#039;&#039;Advanced storage settings&#039;&#039;&#039; (Storage management section), затем выберете &#039;&#039;&#039;Disks &amp;amp; volumes&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;4. В секции &#039;&#039;&#039;Disks and volumes&#039;&#039;&#039; вам нужно выбрать диск, который вы собираетесь зашифровать с помощью &#039;&#039;&#039;BitLocker&#039;&#039;&#039;, затем нажмите на кнопку &#039;&#039;&#039;Properties&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;5. Затем нажмите на опцию &#039;&#039;&#039;Turn on BitLocker&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;6. Ещё раз нажмите &#039;&#039;&#039;Turn on BitLocker&#039;&#039;&#039; рядом с выбранным диском&lt;br /&gt;
&amp;lt;br /&amp;gt;7. После нескольких проверок системы выберите способ резервного копирования ключа восстановления. Вы можете выбрать сохранение в учетной записи Microsoft, сохранение в файле или печать ключа восстановления.&lt;br /&gt;
* Ключ восстановления необходим для восстановления файлов без пароля. Если вы потеряете пароль и у вас не будет ключа восстановления, вы не сможете получить доступ к своим файлам. Настоятельно рекомендуется сделать это, хотя это и необязательно.&lt;br /&gt;
* Если вы решите сохранить 48-значный ключ восстановления, проще всего связать его со своей учетной записью Microsoft. Вы сможете восстановить ключ в разделе &#039;&#039;&#039;&amp;quot; BitLocker recovery&amp;quot; &#039;&#039;&#039; в настройках учетной записи.&lt;br /&gt;
&amp;lt;br /&amp;gt;8. После создания резервной копии ключа восстановления нажмите &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;9. На следующем экране выберете &#039;&#039;&#039;Encrypt used space only (faster and best for new PCs and drives)&#039;&#039;&#039; и нажмите &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;10. Вам нужно будет определить режим шифрования&lt;br /&gt;
* Для обеспечения наилучшей безопасности выберите &#039;&#039;&#039;New encryption mode&#039;&#039;&#039; в качестве предпочтительного режима шифрования, а затем нажмите &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
*Если вы планируете перенести диск BitLocker на ПК с Windows, использующий более старую версию Windows (более раннюю, чем Windows 10 версии 1511), вам нужно выбрать режим &#039;&#039;&#039;Compatible mode&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;11. Поставьте галочку &#039;&#039;&#039;Run BitLocker system check&#039;&#039;&#039; и нажмите &#039;&#039;&#039;Continue&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;12. Чтобы завершить проверку и процесс шифрования нужно перезапустить Windows 11.&lt;br /&gt;
&amp;lt;br /&amp;gt;13. После перезагрузки войдите и подождите пока BitLocker закончит шифрование. В File Explorer вы увидите значок замка на зашифрованном диске.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=783</id>
		<title>Bitlocker</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=783"/>
		<updated>2022-09-16T15:06:18Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Введение=&lt;br /&gt;
Bitlocker - это приложение, предназначенное для шифрования всего носителя информации. Оно предназначено для защиты данных, обеспечивая полное надежное шифрование на носителе. Bitlocker может зашифровать весь диск, на котором находится Windows и данные. Если эта функция включена, любой файл, хранящийся на диске, автоматически шифруется. По умолчанию используется шифрование AES 128 или 256 бит. Шифрование защищает целостность информации на носителе, если она попадет в чужие руки. Используются различные методы, с применением доверенного платформенного модуля(TPM) и без него. TPM - это аппаратный компонент, установленный изготовителем компьютера на многих более новых компьютерах.TPM позволяет ограничить доступ к носителю за пределами конкретной системы.&lt;br /&gt;
 &lt;br /&gt;
==Методы проверки подлинности BitLocker==&lt;br /&gt;
{| class=&#039;wikitable&#039;&lt;br /&gt;
!Метод проверки подлинности !! Описание &lt;br /&gt;
|-&lt;br /&gt;
|Только TPM || TPM проверяет компоненты ранней загрузки.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + ПИН-код || TPM проверяет компоненты ранней загрузки. Пользователь должен ввести правильный ПИН-код перед продолжением процесса запуска и до разблокировки диска. TPM введет блокировку, если неправильный ПИН-код вводится повторно для защиты ПИН-кода от атак методом подбора. Число повторных попыток, которые активирует блокировку, является переменным.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + сетевой ключ || TPM успешно проверяет компоненты ранней загрузки, и с сервера WDS был предоставлен действительный зашифрованный сетевой ключ. Этот метод проверки подлинности обеспечивает автоматическую разблокировку томов операционной системы при перезагрузке системы, сохраняя при этом многофакторную проверку подлинности.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + ключ запуска || TPM успешно проверяет компоненты ранней загрузки, и был вставлен USB-флэш-накопитель, содержащий ключ запуска.&lt;br /&gt;
|-&lt;br /&gt;
|Только ключ запуска || Пользователю будет предложено ввести USB-устройство флэш-памяти с ключом восстановления и (или) ключом запуска, а затем перезагрузить компьютер.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Как использовать Bitlocker в Windows 11=&lt;br /&gt;
1. Нажмите кнопку Start и выберете Settings (или нажать сочетание клавиш Windows key + I).&lt;br /&gt;
2. В меню Settings слева выберете System и справа выберете Storage.&lt;br /&gt;
3. В Storage выберете Advanced storage settings (Storage management section), затем выберете Disks &amp;amp; volumes.&lt;br /&gt;
4. В секции Disks and volumes вам нужно выбрать диск, который вы собираетесь зашифровать с помощью BitLocker, затем нажмите на кнопку Properties.&lt;br /&gt;
5. Затем нажмите на опцию Turn on BitLocker.&lt;br /&gt;
6. Ещё раз нажмите Turn on BitLocker рядом с выбранным диском&lt;br /&gt;
7. После нескольких проверок системы выберите способ резервного копирования ключа восстановления. Вы можете выбрать сохранение в учетной записи Microsoft, сохранение в файле или печать ключа восстановления.&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=778</id>
		<title>Bitlocker</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=778"/>
		<updated>2022-09-16T14:18:47Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Введение=&lt;br /&gt;
Bitlocker - это приложение, предназначенное для шифрования всего носителя информации. Оно предназначено для защиты данных, обеспечивая полное надежное шифрование на носителе. Bitlocker может зашифровать весь диск, на котором находится Windows и данные. Если эта функция включена, любой файл, хранящийся на диске, автоматически шифруется. По умолчанию используется шифрование AES 128 или 256 бит. Шифрование защищает целостность информации на носителе, если она попадет в чужие руки. Используются различные методы, с применением доверенного платформенного модуля(TPM) и без него. TPM - это аппаратный компонент, установленный изготовителем компьютера на многих более новых компьютерах.TPM позволяет ограничить доступ к носителю за пределами конкретной системы.&lt;br /&gt;
 &lt;br /&gt;
==Методы проверки подлинности BitLocker==&lt;br /&gt;
{| class=&#039;wikitable&#039;&lt;br /&gt;
!Метод проверки подлинности !! Описание &lt;br /&gt;
|-&lt;br /&gt;
|Только TPM || TPM проверяет компоненты ранней загрузки.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + ПИН-код || TPM проверяет компоненты ранней загрузки. Пользователь должен ввести правильный ПИН-код перед продолжением процесса запуска и до разблокировки диска. TPM введет блокировку, если неправильный ПИН-код вводится повторно для защиты ПИН-кода от атак методом подбора. Число повторных попыток, которые активирует блокировку, является переменным.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + сетевой ключ || TPM успешно проверяет компоненты ранней загрузки, и с сервера WDS был предоставлен действительный зашифрованный сетевой ключ. Этот метод проверки подлинности обеспечивает автоматическую разблокировку томов операционной системы при перезагрузке системы, сохраняя при этом многофакторную проверку подлинности.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + ключ запуска || TPM успешно проверяет компоненты ранней загрузки, и был вставлен USB-флэш-накопитель, содержащий ключ запуска.&lt;br /&gt;
|-&lt;br /&gt;
|Только ключ запуска || Пользователю будет предложено ввести USB-устройство флэш-памяти с ключом восстановления и (или) ключом запуска, а затем перезагрузить компьютер.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=777</id>
		<title>Bitlocker</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=777"/>
		<updated>2022-09-16T14:16:12Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Введение=&lt;br /&gt;
Bitlocker - это приложение, предназначенное для шифрования всего носителя информации. Оно предназначено для защиты данных, обеспечивая полное надежное шифрование на носителе. Bitlocker может зашифровать весь диск, на котором находится Windows и данные. Если эта функция включена, любой файл, хранящийся на диске, автоматически шифруется. По умолчанию используется шифрование AES 128 или 256 бит. Шифрование защищает целостность информации на носителе, если она попадет в чужие руки. Используются различные методы, с применением доверенного платформенного модуля(TPM) и без него. TPM - это аппаратный компонент, установленный изготовителем компьютера на многих более новых компьютерах.TPM позволяет ограничить доступ к носителю за пределами конкретной системы.&lt;br /&gt;
 &lt;br /&gt;
==Методы проверки подлинности BitLocker==&lt;br /&gt;
{| class=&#039;wikitable&#039;&lt;br /&gt;
|!Метод проверки подлинности | Описание &lt;br /&gt;
|-&lt;br /&gt;
|Только TPM || TPM проверяет компоненты ранней загрузки.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + ПИН-код || TPM проверяет компоненты ранней загрузки. Пользователь должен ввести правильный ПИН-код перед продолжением процесса запуска и до разблокировки диска. TPM введет блокировку, если неправильный ПИН-код вводится повторно для защиты ПИН-кода от атак методом подбора. Число повторных попыток, которые активирует блокировку, является переменным.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + сетевой ключ || TPM успешно проверяет компоненты ранней загрузки, и с сервера WDS был предоставлен действительный зашифрованный сетевой ключ. Этот метод проверки подлинности обеспечивает автоматическую разблокировку томов операционной системы при перезагрузке системы, сохраняя при этом многофакторную проверку подлинности.&lt;br /&gt;
|-&lt;br /&gt;
|TPM + ключ запуска || TPM успешно проверяет компоненты ранней загрузки, и был вставлен USB-флэш-накопитель, содержащий ключ запуска.&lt;br /&gt;
|-&lt;br /&gt;
|Только ключ запуска || Пользователю будет предложено ввести USB-устройство флэш-памяти с ключом восстановления и (или) ключом запуска, а затем перезагрузить компьютер.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=776</id>
		<title>Bitlocker</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=776"/>
		<updated>2022-09-16T14:11:25Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Введение=&lt;br /&gt;
Bitlocker - это приложение, предназначенное для шифрования всего носителя информации. Оно предназначено для защиты данных, обеспечивая полное надежное шифрование на носителе. Bitlocker может зашифровать весь диск, на котором находится Windows и данные. Если эта функция включена, любой файл, хранящийся на диске, автоматически шифруется. По умолчанию используется шифрование AES 128 или 256 бит. Шифрование защищает целостность информации на носителе, если она попадет в чужие руки. Используются различные методы, с применением доверенного платформенного модуля(TPM) и без него. TPM - это аппаратный компонент, установленный изготовителем компьютера на многих более новых компьютерах.TPM позволяет ограничить доступ к носителю за пределами конкретной системы.&lt;br /&gt;
 &lt;br /&gt;
==Методы проверки подлинности BitLocker==&lt;br /&gt;
{|Метод проверки подлинности | Описание |-Только TPM | TPM проверяет компоненты ранней загрузки.|-TPM + ПИН-код | TPM проверяет компоненты ранней загрузки. Пользователь должен ввести правильный ПИН-код перед продолжением процесса запуска и до разблокировки диска. TPM введет блокировку, если неправильный ПИН-код вводится повторно для защиты ПИН-кода от атак методом подбора. Число повторных попыток, которые активирует блокировку, является переменным.|-TPM + сетевой ключ | TPM успешно проверяет компоненты ранней загрузки, и с сервера WDS был предоставлен действительный зашифрованный сетевой ключ. Этот метод проверки подлинности обеспечивает автоматическую разблокировку томов операционной системы при перезагрузке системы, сохраняя при этом многофакторную проверку подлинности.|-TPM + ключ запуска | TPM успешно проверяет компоненты ранней загрузки, и был вставлен USB-флэш-накопитель, содержащий ключ запуска.|-Только ключ запуска | Пользователю будет предложено ввести USB-устройство флэш-памяти с ключом восстановления и (или) ключом запуска, а затем перезагрузить компьютер.|}&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=775</id>
		<title>Bitlocker</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=775"/>
		<updated>2022-09-16T14:10:21Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Введение=&lt;br /&gt;
Bitlocker - это приложение, предназначенное для шифрования всего носителя информации. Оно предназначено для защиты данных, обеспечивая полное надежное шифрование на носителе. Bitlocker может зашифровать весь диск, на котором находится Windows и данные. Если эта функция включена, любой файл, хранящийся на диске, автоматически шифруется. По умолчанию используется шифрование AES 128 или 256 бит. Шифрование защищает целостность информации на носителе, если она попадет в чужие руки. Используются различные методы, с применением доверенного платформенного модуля(TPM) и без него. TPM - это аппаратный компонент, установленный изготовителем компьютера на многих более новых компьютерах.TPM позволяет ограничить доступ к носителю за пределами конкретной системы.&lt;br /&gt;
 &lt;br /&gt;
==Методы проверки подлинности BitLocker==&lt;br /&gt;
{|&lt;br /&gt;
 Метод проверки подлинности | Описание &lt;br /&gt;
|-Только TPM | TPM проверяет компоненты ранней загрузки.&lt;br /&gt;
|-TPM + ПИН-код | TPM проверяет компоненты ранней загрузки. Пользователь должен ввести правильный ПИН-код перед продолжением процесса запуска и до разблокировки диска. TPM введет блокировку, если неправильный ПИН-код вводится повторно для защиты ПИН-кода от атак методом подбора. Число повторных попыток, которые активирует блокировку, является переменным. &lt;br /&gt;
|-TPM + сетевой ключ | TPM успешно проверяет компоненты ранней загрузки, и с сервера WDS был предоставлен действительный зашифрованный сетевой ключ. Этот метод проверки подлинности обеспечивает автоматическую разблокировку томов операционной системы при перезагрузке системы, сохраняя при этом многофакторную проверку подлинности.&lt;br /&gt;
|-TPM + ключ запуска | TPM успешно проверяет компоненты ранней загрузки, и был вставлен USB-флэш-накопитель, содержащий ключ запуска.&lt;br /&gt;
|-Только ключ запуска | Пользователю будет предложено ввести USB-устройство флэш-памяти с ключом восстановления и (или) ключом запуска, а затем перезагрузить компьютер.&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=774</id>
		<title>Bitlocker</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=774"/>
		<updated>2022-09-16T14:09:46Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Введение=&lt;br /&gt;
Bitlocker - это приложение, предназначенное для шифрования всего носителя информации. Оно предназначено для защиты данных, обеспечивая полное надежное шифрование на носителе. Bitlocker может зашифровать весь диск, на котором находится Windows и данные. Если эта функция включена, любой файл, хранящийся на диске, автоматически шифруется. По умолчанию используется шифрование AES 128 или 256 бит. Шифрование защищает целостность информации на носителе, если она попадет в чужие руки. Используются различные методы, с применением доверенного платформенного модуля(TPM) и без него. TPM - это аппаратный компонент, установленный изготовителем компьютера на многих более новых компьютерах.TPM позволяет ограничить доступ к носителю за пределами конкретной системы.&lt;br /&gt;
 &lt;br /&gt;
==Методы проверки подлинности BitLocker==&lt;br /&gt;
{|&lt;br /&gt;
!Метод проверки подлинности | !Описание &lt;br /&gt;
|-Только TPM | TPM проверяет компоненты ранней загрузки.&lt;br /&gt;
|-TPM + ПИН-код | TPM проверяет компоненты ранней загрузки. Пользователь должен ввести правильный ПИН-код перед продолжением процесса запуска и до разблокировки диска. TPM введет блокировку, если неправильный ПИН-код вводится повторно для защиты ПИН-кода от атак методом подбора. Число повторных попыток, которые активирует блокировку, является переменным. &lt;br /&gt;
|-TPM + сетевой ключ | TPM успешно проверяет компоненты ранней загрузки, и с сервера WDS был предоставлен действительный зашифрованный сетевой ключ. Этот метод проверки подлинности обеспечивает автоматическую разблокировку томов операционной системы при перезагрузке системы, сохраняя при этом многофакторную проверку подлинности.&lt;br /&gt;
|-TPM + ключ запуска | TPM успешно проверяет компоненты ранней загрузки, и был вставлен USB-флэш-накопитель, содержащий ключ запуска.&lt;br /&gt;
|-Только ключ запуска | Пользователю будет предложено ввести USB-устройство флэш-памяти с ключом восстановления и (или) ключом запуска, а затем перезагрузить компьютер.&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=713</id>
		<title>Bitlocker</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=713"/>
		<updated>2022-09-16T12:32:24Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Введение=&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=707</id>
		<title>Bitlocker</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=707"/>
		<updated>2022-09-16T12:22:43Z</updated>

		<summary type="html">&lt;p&gt;Ilia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Ишш==&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
	<entry>
		<id>https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=285</id>
		<title>Bitlocker</title>
		<link rel="alternate" type="text/html" href="https://wiki.nc.ut.ee/index.php?title=Bitlocker&amp;diff=285"/>
		<updated>2022-09-06T11:26:30Z</updated>

		<summary type="html">&lt;p&gt;Ilia: Created page with &amp;quot;Ilia Bogatyrev&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ilia Bogatyrev&lt;/div&gt;</summary>
		<author><name>Ilia</name></author>
	</entry>
</feed>