python cgi server


python cgi server — простой сервер, который можно запускать программно. Какое-либо внешнее ПО не требуется. Задействуется модуль Python  HTTPServer.



python cgi server — запуск простого сервера без Nginx


Сервер запускается тремя строками в скрипте. Необходимые условия успешного выполнения — предустановленный Python и свободный порт. В примере порт 8080. На нем не должен работать Nginx или какая-то другая служба.



Создадим скрипт для демонстрации.

mcedit index.py

from http.server import HTTPServer, CGIHTTPRequestHandler
port = 8080
httpd = HTTPServer(('', port), CGIHTTPRequestHandler)
print("Starting simple_httpd on port: " + str(httpd.server_port))
httpd.serve_forever()


Запускаем сервер в консоли

python3 index.py

Starting simple_httpd on port: 8080



Порт 8080 теперь занят

netstat -nltp | grep 8080

(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 31151/python3



Если в том же каталоге разместить простой html файл  и обратиться к нему — сервер вернет содержимое

python cgi server


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

В материале по ссылке можно посмотреть как запускается приложение на Python на сервере. Рассмотрен фреймворк Flask, но принципы одни для любого приложения выступающего в роли бэкенда.



Если приложение использует python cgi server у него обычно есть ряд зависимостей — модулей, которые подключаются в коде. Список модулей при разворачивании на сервере устанавливается в виртуальное окружение.

Сказать спасибо