Балансировщик нагрузки AWS и автоматическое масштабирование
У меня есть приложение для продажи некоторых продуктов, и иногда оно дает сбой из-за большого трафика, и я надеюсь, что балансировщик нагрузки AWS и автоматическое масштабирование определенно помогут в этом.
У меня есть несколько вопросов по этому поводу,
Что делать, если у меня есть кодовая база и сервер MySql в одном экземпляре? (В этом случае я могу использовать RDS)
Как развернуть код? Нужно ли мне создавать AMI каждый раз при развертывании или это автоматизированный процесс.
Я ищу лучший способ добиться этого.
1 ответ
Если вы используете Wordpress, лучшая конфигурация для экземпляра на основе бесплатного уровня:
1) Установите LAMP Stack на свой экземпляр, введя команду ниже
CentOS, RHEL, Amazon Linux AMI
yum install httpd php php-mysql php-pdo php-gd php-mbstring
Ubuntu, Debian
sudo apt-get install apache2 php php-mysql php-pdo php-gd php-mbstring
2) Настройте RDS для размещения вашего сервера БД. Вы можете использовать MySQL Workbench для подключения к экземпляру RDS.
3) Загрузите файлы Wordpress в папку /var/www/html и измените хост БД, имя пользователя БД и пароль БД в файле wp-config. Если вы хотите развернуть новый сайт, я рекомендую использовать Duplicator Pro для переноса всего сайта и выполнить настройку перед установкой.
4) Если вы не видите отраженных изменений. Выполните приведенный ниже запрос в MySQL Workbench.
UPDATE wp_options SET option_value = replace(option_value, 'old_url', 'new_url') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'old_url', 'new_url');
UPDATE wp_posts SET post_content = replace(post_content, 'old_url', 'new_url');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'old_url', 'new_url');
Чтобы ответить на ваши вопросы:
1) Вам необходимо удалить / перенести серверную часть кода MySQL в RDS, в противном случае это даст вам тайм-аут ошибки 504, поскольку и сервер, и клиент одновременно используют ЦП экземпляра.
2) Вам не нужно каждый раз создавать AMI. AMI создается автоматически после выбора типа экземпляра, код которого можно развернуть с помощью ssh, Filezilla для загрузки по FTP, MySQL Workbench для развертывания RDS.