Wordpress встраивает URL-адрес вашего веб-сайта или IP-адрес, если у вас нет стабильного DNS-имени, в файл конфигурации и базу данных.
Любое изменение IP-адресов или DNS-имени после начальной установки вызовет поведение, которое вы видите.
На этой странице документа есть шаги, чтобы это исправить.https://codex.wordpress.org/Changing_The_Site_URL
Приведенный ниже скрипт напрямую изменяет IP-адрес в базе данных Wordpress.Обязательно измените DB_NAME
, DB_USER
и DB_PASSWORD
#!/bin/bash
DB_HOSTNAME=`grep DB_HOST /var/www/html/wordpress/wp-config.php | cut -d ',' -f2 | awk -F "'" '{ print $2 }'`
WP_URL="http://`curl http://169.254.169.254/latest/meta-data/public-hostname/`/wordpress"
DB_USER=wordpress
DB_PWD=password
DB_NAME=wordpress
mysql -u $DB_USER --password=$DB_PWD -h $DB_HOSTNAME $DB_NAME -e "UPDATE wp_options SET option_value='$WP_URL' WHERE option_name='siteurl' OR option_name='home'"
. Этот скрипт можно запускать автоматически во время загрузки, чтобы настроить DB для нового IP-адреса экземпляра EC2.
Обратите внимание, что долгосрочное решение отличается: я бы рекомендовал использовать два экземпляра EC2 для обеспечения доступности и балансировщик нагрузки.Балансировщик нагрузки будет иметь стабильное DNS-имя (вы можете использовать псевдоним с записью CNAME в DNS вашего домена).База данных Wordpress будет включать только это имя CNAME.
В этом техническом документе приведены рекомендации по развертыванию Wordpress на AWS: https://aws.amazon.com/blogs/architecture/wordpress-best-practices-on-aws/