PostgreSQL: Завершение процесса запроса

Ситуация: при попытке добавить столбец в одну из таблиц, получил сообщение, что таблица заблокирована из-за процесса с номером Х. «Странно» подумал я, т.к. собственно никаких запросов, тем более «тяжелых» в данный момент не выполнял. Посмотрел текущие запросы и обнаружил:

Что процесс, на который ругалась БД, был запущен еще несколько дней назад, и не понятно по какой причине еще до сих пор не завершен. По идее то бы тут конечно нужно по выяснять, а почему это собственно произошло… но я не стал. А просто завершил процесс:

Исправление распространённых ошибок при тестировании конфигурации Bitrix

Всё ниже перечисленное применимо к Битрикс «Управление сайтом»

Ошибка! Время отличается на 10800 секунд

Прежде чем применять предложенное исправление, необходимо проверить что в консоли терминала и консоли БД время установлено верно.

Исправление: в файле /bitrix/php_interface/after_connect.php нужно добавить строчку:

Ошибка! Не настроен запуск cron_events.php на cron, последний агент отработал больше суток назад.

Исправление: в /etc/crontab добавить строчку вида:

Работа с сокетами: Ошибка! Не работает

Исправление:

  • добавить в /etc/hosts имя домена
  • обновить корневые сертификаты:
  • проверить нет ли проблем с сертификатом при выполнении в терминале на сервере

Если выведет ошибку — установить корректные ssl сертификаты

Недоступны для чтения или записи

При проверке ругается, что часть файлов/папок не доступны для чтения/записи. Для начала выполним команды в корневой папке сайта:

И выставим владельцев (у вас могут быть свои):

Работа с файлами кеша: Ошибка! Не работает

Сервер apache не имеет доступа в папку /bitrix/cache

Yandex map: динамическая загрузка содержимого балуна

Задача: динамически загружать контент по клику на метку, в т.ч. и при кластеризации

Решение:

Добавим события открытия балуна по клике на метку из карты и кластера:

К сожалению, если в кластере собрано очень много меток (более 200), то обновление идёт довольно долго, потому пришлось немножко ограничить загрузку. В хорошем варианте, нужно бы отслеживать клик по заголовку списка в кластере, но это пока не удалось

Подготовка сервера RED OS 7.3 к установке Битрикс «Управление сайтом»

Дальнейший ход установки предполагает, что у вас уже установлена RED OS в конфигурации программ «Сервер минимальный», без выбора ПО (т.е. php, apache и т.д. будем ставить позже и сами!)

Отключим SELinux:

Настроим отправку почты из консоли:

Для проверки работы:

Установим PHP 8.1

Если вдруг необходима версия PHP 7.4, которая идёт по умолчанию, то соответственно первая строчка не нужна

Установим Apache и Ngnix

Установим MariaDB

Установим Redis

Настройка Ngnix

Создадим папку /var/www/html/bx-site, присвоим ей пользователя и группу:

Далее качаем этот архив, и содержимое папки /redos/nginx переписываем поверх в /etc/nginx. Кроме того нужно в /etc/hosts добавить строчку:

В случае необходимости включить сразу ssl, добавим в файл /etc/ngnix/sites-available/default.conf секцию вида:

Если необходима (а она скорее всего необходима) переадрессация с http на https, то в секцию c 80 портом, добавляем строчки:

Запустим сервис:

Настройка PHP

В папке /etc/php.d необходимо отредактировать настройки модулей:

opcache

bitrix.ini

Настройка Apache

  • Добавить в /etc/httpd/conf.d файл default.conf из архива выше
  • в httpd.conf заменить Listen 80 на Listen 8090
  • заменить файл /etc/httpd/conf.modules/00-mpm.conf на файл из архива выше

Запустить httpd:

На этом моменте файл index.php размещенный в /var/www/html/bx-site уже должен отображаться адекватно

Настройка MariaDB

В файле /etc/my.cnf.d/mariadb-server.cnf внутри тега [mysqld] необходимо добавить/изменить строки:

Запуск сервиса:

Заходим в консоль сервера mysql, создаём пользователя и даём ему права:

Настройка Redis

В папке /etc/redis необходимо заменить файл redis.conf из архива выше, и выполнить в консоли:

На этом в принципе и всё. Сервер подготовлен для развертывания битрикса в папке /var/www/html/bx-site. По идее далее кидаем туда дистрибутив (ну или бекап, если сайт переносите как я) и начинаем установку из браузера

Rsync как средство копирования файлов и папок с одного сервера на другой

Если вы имеете доступ по SSH на сервера, и необходимо скопировать файлы/папки с одного сервера на другой, то удобно пользоваться для этого утилитой rsync. Синтаксис следующий:

1 5 6 7 8 9 281