После переезда часть сайта молчит - разбор причин
Сайт после переезда открывается, страницы отдаются, ошибок на экране нет. Молчат подсистемы: не уходят письма, стоят агенты, встал обмен с 1С. Разбираем причины по убыванию частоты, начиная с расписания на новом сервере.
С чего начать
Смотрим, разбиралась ли хоть одна фоновая очередь:
global $DB;// строки очереди писем с признаком неудачи копятся, когда отправка встала$rs = $DB->Query("SELECT SUCCESS_EXEC, COUNT(*) AS CNT FROM b_event GROUP BY SUCCESS_EXEC");while ($row = $rs->Fetch()) { print_r($row); }// перевод агентов на расписание включается парой опций и переезжает вместе с базойecho COption::GetOptionString('main', 'agents_use_crontab'), ' ', COption::GetOptionString('main', 'check_agents'), PHP_EOL;Этот ответ делит причины пополам и экономит половину разбора. Копящиеся письма с признаком неудачи при значении N у обеих опций указывают на расписание нового сервера. Молчание одного канала при живой очереди писем переводит разбор на внешнюю сторону.
Проверяем расписание и локальную отправку почты:
crontab -l -u bitrix | grep cron_events # задание переезжает вместе с сайтом не всегдаphp -r 'echo ini_get("sendmail_path"), PHP_EOL;' # пустое значение оставляет почту сайта немойsystemctl status postfix --no-pager | head -3 # служба доставки на новом сервереecho probe | sendmail -v admin@example.org # отправка мимо сайта, для сравненияОтправка из консоли ничего не доказывает про сайт: язык шлёт письма своим путём. Расхождение между рабочей консолью и молчащим сайтом почти всегда лежит в настройках языка.
Сверяем владельца и права каталога загрузок:
stat -c '%U:%G %a' /home/bitrix/www/upload /home/bitrix/www/upload/1c_catalogchown -R bitrix:bitrix /home/bitrix/www/upload # владелец - пользователь веб-сервераfind /home/bitrix/www/upload -type d ! -perm 0755 | head# права по умолчанию у продукта: файлы 0644, каталоги 0755Копирование от имени администратора оставляет чужого владельца на всём дереве загрузок. Обмен с 1С падает тогда на записи файла выгрузки, а миниатюры перестают создаваться.
Задаём права на файлы, которые создаёт платформа:
// /bitrix/php_interface/dbconn.php - конфигурация старого ядраdefine("BX_FILE_PERMISSIONS", 0644); // права новых файловdefine("BX_DIR_PERMISSIONS", 0755); // права новых каталоговumask(~BX_DIR_PERMISSIONS); // маска процесса под те же праваКонстанты действуют на загрузки, кэш и файлы выгрузки обмена. Без них новый сервер раздаёт права по своей маске, и веб-сервер теряет запись.
Возвращаем заголовок авторизации при работе PHP через CGI:
# .htaccess в корне сайтаRewriteEngine onRewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]Точка обмена живёт по адресу /bitrix/admin/1c_exchange.php и требует
пользователя с правом на обмен. В режиме CGI заголовок теряется, авторизация не
проходит, и обмен молча не идёт.
Причины
-
Расписание не переехало на новый сервер примерно 28% случаев
ПризнакСтоят сразу все фоновые механизмы: агенты, очередь писем, чистка статистики.
ПроверкаСмотрим задания пользователя сайта и время последнего запуска агентов в базе.
Что делатьЗаводим задание на скрипт обработчика раз в минуту и сверяем путь к интерпретатору.
-
Локальная отправка почты на новом сервере не настроена примерно 22% случаев
ПризнакИз консоли письмо уходит, а сайт копит очередь и жалуется на ошибки отправки.
ПроверкаЧитаем путь к почтовой программе в настройках языка и состояние службы доставки.
Что делатьНастраиваем локальную отправку или внешний SMTP, затем разбираем накопившуюся очередь писем.
-
Владелец и права на загрузки сбились при копировании примерно 18% случаев
ПризнакОбмен с 1С падает на записи файла выгрузки, а миниатюры картинок не создаются.
ПроверкаСверяем владельца дерева загрузок с пользователем веб-сервера и права на каталоги.
Что делатьВозвращаем владельца всему дереву и задаём константы прав в конфигурации старого ядра.
-
Точка обмена с 1С не пропускает авторизацию примерно 14% случаев
ПризнакПроверка соединения из 1С не проходит, хотя страница обмена в браузере открывается.
ПроверкаСмотрим режим работы PHP и наличие правила проброса заголовка авторизации.
Что делатьДобавляем правило проброса в файл веб-сервера и проверяем право пользователя на обмен.
-
Система обновлений смотрит на прежний адрес сервера примерно 10% случаев
ПризнакПродукт пишет об истёкшем сроке пробной версии, хотя лицензия куплена и введена.
ПроверкаОткрываем раздел системы обновлений в настройках главного модуля и читаем адрес.
Что делатьВозвращаем штатный адрес сервера обновлений и повторяем проверку лицензионного ключа.
-
Внешние уведомления не доходят до нового сервера примерно 8% случаев
ПризнакПлатёжная система показывает успешную оплату, а заказ на сайте остаётся неоплаченным.
ПроверкаИщем запросы платёжной системы в журнале веб-сервера за время последней оплаты.
Что делатьОбновляем адрес обработчика в личном кабинете системы и открываем нужные порты наружу.
Частые вопросы
После переезда перестали работать почтовые уведомления, из консоли письмо уходит.
Смотрят путь к почтовой программе в настройках языка: сайт шлёт письма через него, а не через оболочку. Пустое или чужое значение оставляет очередь нетронутой.
Почему после переноса на новый сервер сайт открывается, а половина не работает?
Архив переносит файлы и базу, но не окружение. Расписание, служба доставки почты, права на каталоги и открытые порты настраиваются на новом сервере заново.
После переноса сайта пропали миниатюры к картинкам.
Уменьшенные копии создаются на лету и требуют записи в каталог загрузок. Чужой владелец после копирования от администратора отнимает у веб-сервера это право.
Перестал работать обмен товарами с 1С, ошибка записи в файл import.xml.
Каталог обмена внутри загрузок недоступен веб-серверу на запись. Возвращают владельца дереву загрузок и задают константы прав в конфигурации старого ядра.
Система обновлений не видит лицензию после переезда на новый сервер.
В настройках главного модуля остаётся прежний адрес сервера обновлений. Возвращают штатный адрес, после чего ключ проверяется обычным порядком.
Смежное
- Резервные копии и перенос сайта - оглавление подтемы
- Перенос сайта на другой сервер: через восстановление и вручную - сам порядок переезда, а не разбор последствий
- Восстановление из копии не проходит: разбор причин - когда сайт вообще не развернулся, а не молчит подсистемами
- Копия сайта не открывается на стенде: разбор причин - когда копия не открывается совсем, а не работает наполовину
- Агенты не выполняются: разбор причин - фоновые задачи вне связи с переездом
- Письма с сайта не доходят: разбор причин по убыванию частоты - почта целиком, от очереди до доставки
- Настройка отправки почты: локальная отправка и SMTP - как поднять почту на новом сервере
- 1С не может прочитать ответ сайта: разбор причин - отказы точки обмена подробно
- Обновления не устанавливаются: ключ, срок, доступ, права - ключ и адрес сервера обновлений
- Права на файлы и папки: файловая система и права структуры - владелец и права после копирования
- Смена домена сайта: настройки, куки, защита, редиректы - переезд на другой адрес, а не на другой сервер
- Инфраструктура 1С-Битрикс - устройство серверной части целиком