- Подключение Python 3 к БД MySQL и MariaDB
- Подключение к БД MariaDB
- Подключение к базе данных выполнено успешно
- Ошибка подключения к БД: ')
- Похожие посты:
- Как настроить сервер Linux Apache Mysql Python
- Установите Apache, MySQL и Python
- Настроить MySQL
- Настроить Apache
- Сделать веб-страницу на Python
- Заключительные мысли
- Запуск веб-сервера Apache в связке с Python 3 и СУБД на CentOS Stream 8
- Добро пожаловать на страницу Python
- Похожие посты:
- Запуск веб-сервера Apache в связке с Python 3 и СУБД на Debian 11 и Ubuntu Server 21.10
- Добро пожаловать на страницу Python
- Похожие посты:
Подключение Python 3 к БД MySQL и MariaDB
Небольшой скрипт на Python 3, который проверит доступность подключения к серверу баз данных MySQL и MariaDB на веб-сервере.
В первую очередь необходимо проверить наличие коннектора Python к СУБД MySQL mysql-connector-python. Если его нет, можно установить с помощью утилиты pip:
# pip install mysql-connector-python
Затем на сервере БД создадим пользователя db_user и базу данных test_db
Для этого войдёт в консоль mysql
и запустим такие SQL-команды:
CREATE DATABASE test_db; CREATE USER 'db_user'@'localhost' IDENTIFIED BY 'yourPassword'; GRANT ALL PRIVILEGES ON test_db.* TO 'db_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
Затем в каталоге веб-сервера, где хранятся скрипты Python, создадим файл dbconnect.py (и не забываем про chmod 755 . ) со следующим содержимым:
#!/usr/bin/python3 print('Content-Type: text/html; charset=utf-8 \r\n') print('Подключение к БД MariaDB
') import mysql.connector as mariadb from mysql.connector import Error try: connection = mariadb.connect(user = 'db_user', password = 'yourPassword', database = 'test_db', host = 'localhost', port = '3306') print('Подключение к базе данных выполнено успешно
') connection.close() except Error as error: print(f'Ошибка подключения к БД: ')
Проверяем. Запускаем браузер, вводим адрес веб-сервера и путь к скриптам и дописываем после слеша dbconnect.py:
В браузере мы должны будем увидеть такую строчку:
Подключение к БД прошло успешно.
Похожие посты:
Как настроить сервер Linux Apache Mysql Python
Apache, MySQL и Python можно использовать в тандеме для размещения и обслуживания веб-сайта из системы Linux. Этот набор программного обеспечения известен как стек LAMP (Linux, Apache, MySQL, Python), хотя иногда буква «P» означает PHP, который можно использовать в дополнение к Python или вместо него. Apache обслуживает веб-сайт, MySQL хранит и извлекает информацию из базы данных, а Python может генерировать HTML и соответствующий код для просмотра посетителями сайта.
В этом руководстве мы рассмотрим пошаговые инструкции по установке Apache, MySQL и Python в Linux. Процесс установки прост, но Apache потребует некоторой настройки для чтения сценариев Python, а MySQL должен пройти первоначальную настройку, прежде чем его можно будет использовать. Мы создадим простой скрипт «Hello World» на Python, а затем получим доступ к нему из нашего веб-браузера, чтобы показать, что Apache читает код, как предполагалось.
ЗНАЕТЕ ЛИ ВЫ?
Python также можно использовать для хостинга веб-сайтов. Это не подходит для рабочего веб-сайта, но может быть полезно для создания очень быстрого веб-сайта, предназначенного только для личного использования. См. наш учебник по настройке простого веб-сервера в Linux, чтобы узнать, как разместить веб-сайт с помощью Python.
В этом уроке вы узнаете:
Установите Apache, MySQL и Python
Первое, что нам нужно сделать, это подготовить нашу систему Linux с помощью соответствующих пакетов программного обеспечения. Команды установки будут различаться в зависимости от того, какой дистрибутив Linux вы используете.
Вы можете использовать соответствующую команду ниже, чтобы установить Apache, MySQL и Python с помощью диспетчера пакетов вашей системы.
Чтобы установить Apache, MySQL и Python в Ubuntu, Debian и Linux Mint:
$ sudo apt update $ sudo apt install apache2 mariadb-server mariadb-client python3
Чтобы установить Apache, MySQL и Python на Fedora, CentOS, AlmaLinux, Red Hat и Rocky Linux:
$ sudo dnf install httpd mariadb-server python3
Настроить MySQL
Одна из первых вещей, которую мы должны сделать, это подготовить нашу базу данных WordPress. Для этого нам сначала нужно выполнить начальную настройку MySQL. Для начала выполните в терминале следующую команду:
$ sudo mysql_secure_installation
Оставьте первый ответ пустым и нажмите Enter. Вы должны ответить y (yes) на остальные запросы и настроить пароль root, когда будет предложено сделать это. Эта настройка занимает всего минуту.
Настроить Apache
К этому моменту Apache уже должен быть установлен и запущен, и это можно проверить, открыв браузер и перейдя по адресу замыкания на себя 127.0.0.1 или просто localhost в вашей системе.
Хотя Apache уже размещает наш сайт (или его отсутствие), рекомендуется настроить новый файл виртуального хоста Apache для нашего веб-сайта. Это даст вам больше гибкости в будущем, если вы захотите разместить несколько веб-сайтов или внести изменения в каталог вашего веб-сайта и т. д.
- Скопируйте конфигурацию Apache по умолчанию в новый файл с помощью следующей команды. Мы называем наш новый файл веб-сайта mysite.conf :
$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mysite.conf
$ sudo nano /etc/apache2/sites-available/mysite.conf
DocumentRoot /var/www/mysite
Options +ExecCGI DirectoryIndex index.py AddHandler cgi-script .py
Также создайте псевдоним для префикса www . В этом нет необходимости, если вы просто используете localhost.
ServerAlias www.your-site.com
Вот как должен выглядеть ваш файл конфигурации, когда вы закончите. Обратите внимание, что мы закомментировали строку псевдонима в нашей конфигурации, поскольку мы размещаем только локально.
Сохраните изменения и закройте файл. Проверьте конфигурацию Apache на наличие ошибок. Затем включите сайт в Apache и отключите сайт по умолчанию.
$ apachectl configtest $ sudo a2ensite mysite.conf $ sudo a2dissite 000-default.conf
$ sudo a2dismod mpm_event $ sudo a2enmod mpm_prefork cgi
$ sudo systemctl restart apache2 OR: $ sudo systemctl restart httpd
Сделать веб-страницу на Python
Теперь мы создадим простой скрипт Python, поместим его в каталог веб-сайта, а затем перейдем на наш веб-сайт, чтобы увидеть, отображается ли страница, которую мы создали в Python, так, как предполагалось.
- Создайте необходимую директорию сайта, если ее еще нет:
$ sudo nano /var/www/mysite/index.py
#!/usr/bin/python3 print ("Content-Type: text/html") print() print ("") print ("") print ("Hello World!") print ("")
$ sudo chown -R www-data:www-data /var/www/mysite $ sudo chmod 755 /var/www/mysite/index.py
Теперь вы можете перейти на свой веб-сайт и увидеть, что Apache отображает содержимое нашего файла Python:
Заключительные мысли
В этом руководстве мы увидели, как настроить веб-сервер в системе Linux с использованием Apache, MySQL и Python. Это позволяет нам обслуживать контент, написанный с помощью скриптов Python, при этом извлекая и сохраняя информацию в базе данных MySQL. Python может взаимодействовать с MySQL и отображать информацию из баз данных или использоваться для создания HTML и другого связанного веб-кода.
Запуск веб-сервера Apache в связке с Python 3 и СУБД на CentOS Stream 8
Краткая инструкция по быстрому запуску веб-сервера Apache HTTP Server с Python 3 и системами управления базами данных MariaDB (MySQL) и PostgreSQL на ОС CentOS Stream 8.
Для начала необходимо установить СУБД MariaDB и/или PostgreSQL. Инструкции по установкам находятся по следующим ссылкам:
Затем устанавливаем Apache и Python 3.9 с модулями для работы с СУБД
# yum install httpd python39 python39-pip python39-psycopg2 python39-mod_wsgi
и запускаем и включаем в автозагрузку службу httpd
# systemctl start httpd # systemctl enable httpd
Если в дальнейшем будет использоваться СУБД MariaDB (MySQL), тогда установим для него модуль через pip
# pip3 install mysql-connector-python39
Теперь отключаем SELINUX. Открываем файл
и изменяем значение SELINUX на disabled:
а также выполняем команду
Вместе с этим создадим необходимые правила для файрволла
# firewall-cmd --add-service=http --zone=public --permanent # firewall-cmd --add-service=https --zone=public --permanent # firewall-cmd --reload
После этого создаём каталог /var/www/scripts/, в котором будут храниться скрипты Python
Далее открываем файл конфигурации Apache
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
ScriptAlias /scripts/ "/var/www/scripts/"
AllowOverride None Options None Require all granted
Options ExecCGI Indexes AddHandler cgi-script .cgi .py AddHandler wsgi-script .wsgi Require all granted
Затем перезапускаем Apache
и проверяем что у нас получилось.
Создаём простой скрипт /var/www/scripts/welcome.py, зададим ему необходимые права, а также открываем его
# touch /var/www/scripts/welcome.py # chmod 755 /var/www/scripts/welcome.py # vi /var/www/scripts/welcome.py
впишем в него страницу приветствия:
#!/usr/bin/python3 print('Content-Type: text/html; charset=utf-8') print('') print('Добро пожаловать на страницу Python
')
На другой машине в сети в адресной строке браузера вводим: http://IP_или_хост_сервера/scripts/welcome.py и увидим страницу с текстом «Добро пожаловать на страницу Python».
Похожие посты:
Запуск веб-сервера Apache в связке с Python 3 и СУБД на Debian 11 и Ubuntu Server 21.10
Краткое руководство по быстрому запуску веб-сервера Apache HTTP Server с Python 3 и системами управления базами данных MariaDB (MySQL) и PostgreSQL на ОС Debian GNU/Linux и Ubuntu Server 21.10.
Для начала необходимо установить СУБД MariaDB и/или PostgreSQL. Инструкции по установкам находятся по следующим ссылкам:
- СУБД MariaDB на Debian GNU/Linux и Ubuntu Server — https://dondub.com/2021/05/zapusk-subd-mariadb-na-debian-10-9-i-ubuntu-server-21-04/
- СУБД PostgreSQL на Debian GNU/Linux — https://dondub.com/2021/05/zapusk-subd-postgresql-v-debian-10-9/
- СУБД PostgreSQL на Ubuntu Server — https://dondub.com/2021/05/zapusk-subd-postgresql-na-ubuntu-server-21-04/
Затем устанавливаем Apache и Python 3, а также PIP
# apt install python3 python3-pip apache2
После этого устанавливаем коннекторы к СУБД.
# apt install python3-psycopg2
для MariaDB (MySQL) — с помощью PIP
# pip install mysql-connector-python
и перезапускаем службу apache2
# systemctl restart apache2
Каталог для хранения Python-скриптов: /usr/lib/cgi-bin/
Создадим в нём файл welcome.py, зададим ему необходимые права
# touch /usr/lib/cgi-bin/welcome.py # chmod 755 /usr/lib/cgi-bin/welcome.py
# nano /usr/lib/cgi-bin/welcome.py
#!/usr/bin/python3 print('Content-Type: text/html; charset=utf-8') print('') print('Добро пожаловать на страницу Python
')
После этого на другой машине в сети в адресной строке вводим: http://IP_илиимяхоста/cgi-bin/welcome.py
Должна появиться страница с текстом приветствия «Добро пожаловать на страницу Python»