Запуск Python 3 на веб-сервере nginx в Debian 11 и Ubuntu Server 21.10

Данная инструкция описывает краткий процесс запуска 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/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *