Данная инструкция описывает краткий процесс запуска Python 3 в связке с веб-сервером nginx и возможность расширения стека LEMP на ОС Debian GNU/Linux 11 и Ubuntu Server 21.10.
Запуск LEMP сервера на Debian читаем здесь: https://dondub.com/2021/07/zapusk-lemp-servera-na-debian-10/, на Ubuntu Server — здесь: https://dondub.com/2021/07/zapusk-lemp-servera-na-ubuntu-server/ (при необходимости).
Устанавливаем необходимые пакеты
# apt install python3 python3-pip nginx fcgiwrap
Затем создадим файл конфигурации /etc/nginx/fcgiwrap.conf
# touch /etc/nginx/fcgiwrap.conf
откроем его
# nano /etc/nginx/fcgiwrap.conf
и внесём такие строки:
location /scripts/ { gzip off; root /var/www; fastcgi_pass unix:/var/run/fcgiwrap.socket; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name; }
После этого создадим каталог для хранения скриптов Python и зададим ему необходимые права
# mkdir /var/www/scripts/ # chmod 755 /var/www/scripts/
Теперь откроем файл с конфигурацией nginx по умолчанию
# nano /etc/nginx/sites-available/default
и в секции server в самом конце перед закрывающей фигурной скобкой допишем вставку конфигурации fcgiwrap.conf:
server { ... include /etc/nginx/fcgiwrap.conf; }
Далее перезапускаем службу nginx
# systemctl restart nginx
Готово! Теперь создадим проверочный Python-скрипт welcome.py и откроем его
# touch /var/www/scripts/welcome.py # chmod 755 /var/www/scripts/welcome.py # nano /var/www/scripts/welcome.py
запишем в него такие строки:
#!/usr/bin/python3 print('Content-Type: text/html; charset=utf-8') print('') print('<h1>Файл welcome.py работает!</h1>')
На другой машине в сети в адресной строке браузера введём http://IP_адрес_или_имя_хоста/scripts/welcome.py и увидим страницу с сообщением:
Файл welcome.py работает!
Для подключения к базам данных MariaDB (MySQL) и PostgreSQL с помощью скриптов Python 3 необходимо будет установить psycopg2
# apt install python3-psycopg2
и mysql-connector
# pip install mysql-connector-python
Скрипты подключения к БД PostgreSQL можно взять отсюда: https://dondub.com/2022/03/podklyuchenie-python-3-k-bd-postgresql/ и к MariaDB (MySQL) — отсюда: https://dondub.com/2022/03/podklyuchenie-python-3-k-bd-mysql-i-mariadb/