Когда я обновляю свой экземпляр, я использую инструменты командной строки EB. Я помещаю свой экземпляр в свой CodeCommit git, а затем развертываю свой код с помощью eb deploy
команда. Почти каждый раз, когда я это делаю, состояние моего окружения меняется на ухудшенное / серьезное с экземпляром, который работает, выдает ошибку Following services are not running: proxy.
Он будет запускать больше экземпляров на основе моей политики автоматического масштабирования (привязанной к здоровью), и иногда после 2-3 новых экземпляров я получаю один, который является "ОК"
Моя среда настроена как 64bit Amazon Linux 2016.09 v2.2.0 running PHP 7.0
. Это автоматическая балансировка нагрузки и автоматическое масштабирование при средней выходной мощности. T1.micro запущен в любой зоне доступности, а конфигурация программного обеспечения следующая: Публикация журнала: Вкл; Разрешить открытие URL: Вкл; Отображение ошибок: Выкл; Корень документа: / http /; Максимальное время выполнения: 60; Ограничение памяти: 256M; Сжатие вывода Zlib: Выкл;
Что могло вызвать это?
Проверьте свой /opt/elasticbeanstalk/hooks/appdeploy/post/01_monitor_httpd_pid.sh
. Обратите внимание, что 01_monitor_httpd_pid.sh
может иметь для вас другое имя.
Там вам нужно изменить проверку прокси, если вы не используете apache/httpd
к nginx
, вот так:
#!/bin/bash
set -xe
/opt/elasticbeanstalk/bin/healthd-track-pidfile --proxy nginx
Если вы используете apache/httpd
, это означает, что что-то не так с вашим экземпляром или процессом времени выполнения apache. Убедитесь, что файл pid находится там, где он должен быть для проверки работоспособности.
Мы можем установить файл внутри каталога .ebextensions, как показано ниже. когда вы видите ошибку Following services are not running: proxy.
.ebextensions / 01_fix_proxy.config содержимое:
"/opt/elasticbeanstalk/hooks/appdeploy/post/01_monitor_httpd_pid.sh":
mode: "000755"
owner: root
group: root
content: |
#!/bin/bash
set -xe
/opt/elasticbeanstalk/bin/healthd-track-pidfile --proxy nginx