Как сменить IP-адрес сервера в окружении 1С-Битрикс: скрипт, сброс кэша и правка ansible
05.10.2026
≈ 1 минута.
1 показ
В современных реалиях сервер с сайтом по определённым IP-адресам может стать недоступен, не открываться сайт, при том что сервер будет работать нормально. В таких случаях требуется смена IP-адреса. Но после изменения адреса в панели управления облаком, в битриксовском окружении по-прежнему используется старый адрес.
Так бывает когда изначально что-то пошло не так и не определился текущий адрес и не попал в конфиг для ansible
у host_netaddr будет пустое значение
Поэтому указываем реальное значение
Дальше опять обновляем IP адрес как указывалось ранее и получаем исправленный результат, все выводится верно
Делаем резервную копию ansible
tar -czf /root/ansible-before-ip-fix-$(date +%Y%m%d-%H%M%S).tar.gz /etc/ansible
Обновляем IP адрес
Чтобы битриксовское окружение использовало новый IP адрес, его необходимо сменить с помощью специального скрипта для этого случая./opt/webdir/bin/wrapper_ansible_conf -a change_ip --host tw.server.bxmaker.ru --ip 81.200.146.132
Сброс кэша
После этого сбрасываем кэш, который после запуска меняю сформируется зановоrm -f /opt/webdir/tmp/pool_servers.cache \
/opt/webdir/tmp/web_servers_status.cache \
/opt/webdir/tmp/push_servers_status.cache \
/opt/webdir/tmp/mysql_servers_status.cache
Дополнительно
Обычно этого достаточно, но в нашем случае текущий IP адрес вообще 127.0.0.1Так бывает когда изначально что-то пошло не так и не определился текущий адрес и не попал в конфиг для ansible
cat /etc/ansible/ansible-roles
Поэтому указываем реальное значение
sed -i 's/^host_netaddr[[:space:]]*=.*/host_netaddr = 81.200.146.132/' /etc/ansible/ansible-roles
sed -i '/tw\.server\.bxmaker\.ru[[:space:]]\+ansible_connection=local[[:space:]]\+ansible_ssh_host=$/s/ansible_ssh_host=$/ansible_ssh_host=81.200.146.132/' /etc/ansible/hosts


