Назад | Перейти на главную страницу

Почему Apache не останавливается или не перезапускается полностью? Мне каждый раз приходится убивать вручную

У меня есть настроенный сервер EC2 под управлением Ubuntu 11.10 с приложением Django на Apache2 / WSGI. Этот сервер работает отлично, без проблем останавливается и перезагружается.

Когда я клонирую этот экземпляр, все в нем точно так же. Я не изменил ничего значимого. Но ... он НЕ будет полностью перезапущен или остановлен. Приложение работает нормально, и сервер не дает сбоев ... пока я не попытаюсь перезапустить / остановить его.

Каждый раз, когда я пытаюсь ОСТАНОВИТЬ, требуется не менее 30–45 секунд, чтобы остановиться с [OK] сообщение. Я могу немедленно попытаться остановить его СНОВА, и он сделает то же самое. Если я попытаюсь ПЕРЕЗАПУСТИТЬ, то в конечном итоге произойдет сбой с сообщением «Адрес уже используется». Затем я вручную убиваю застойный СТАРЫЙ /usr/sbin/apache2 -k start процесс для перезапуска. Тогда у меня еще 4 или 5 <defunct> процессы, которые потребляют ресурсы на всю оставшуюся жизнь загрузки.

Что я могу сделать, чтобы понять, почему это происходит? Процесс просто зависает КАЖДЫЙ раз. Я бился об этом несколько дней и не понимаю.

============ РЕДАКТИРОВАТЬ ===========

Я просто попытался клонировать AMI еще на 2 экземпляра, один МИКРО и один МАЛЕНЬКИЙ. Это ОЧЕНЬ странно: экземпляр SMALL работает отлично. У экземпляра MICRO такая же проблема с перезапуском. Чтобы убедиться в этом, я сделал то же самое еще раз (клонировал на другой МАЛЕНЬКИЙ и другой МИКРО). То же самое....

Заметная разница между различными доступными типы экземпляров на Amazon EC2 есть ли у данного типа экземпляра Хранилище инстансов Amazon EC2 (также известный как эфемерное хранилище) доступен вообще, а также прикреплен ли он, отформатирован и смонтирован по умолчанию в случае. В частности, последнее верно только для экземпляров m1.small и c1.medium, а в экземпляре t1.micro такое хранилище полностью отсутствует - см. Хранилища экземпляров, доступные для типов экземпляров для количество и размеры томов хранилища экземпляров, доступных для каждого типа экземпляра и Имена устройств в хранилище экземпляров для получения более подробной информации о сопоставлениях:

Тома хранилища экземпляров должны быть смонтированы на устройствах, прежде чем их можно будет использовать. В инстансе Linux, в зависимости от типа инстанса, некоторые хранилища инстансов по умолчанию форматируются и монтируются образами сборки Amazon. Экземпляр Windows использует встроенный инструмент EC2Config Service для форматирования и монтирования всех хранилищ экземпляров, подключенных к экземпляру.

Следовательно, в зависимости от вашей настройки, могут быть артефакты конфигурации ОС / службы, предполагающие, что хранилище доступно в /mnt, которого на самом деле нет на клоне этого экземпляра, в котором отсутствует это хранилище, например:

  • Типичный файл блокировки службы может в свою очередь демонстрировать соответствующее поведение, т.е. невозможность создания файла блокировки может не считаться фатальной ошибкой, поэтому служба запускается нормально, однако логика перезапуска / остановки обычно требует файл блокировки с процессом мне бы (PID) будет присутствовать и без этого явно не сработает.

Может быть, попробуйте запустить сервер с помощью Директива PidFile

И если он работает с нестандартным pid-файлом, то посмотрите разрешения созданного файла журнала по умолчанию.