Вопрос или проблема
Мы используем чат-сервер, установленный с помощью Openfire, для локального офисного использования. Каждое утро, когда сервер запускается, служба Openfire не запускается. Я добавил ее в уровни выполнения, используя команду chkconfig
. Операционная система, которую мы используем, – это CentOS 6.5 final.
chkconfig --level 0123456 openfire on
Вывод команды chkconfig был следующим:
openfire 0:on 1:on 2:on 3:on 4:on 5:on 6:on
И все равно служба не запускается каждый раз, когда сервер работает. Каждый раз мне приходится запускать службу вручную, используя
/etc/init.d/openfire start
Эта процедура не сработала для меня, поэтому я отредактировал файл rc.local и добавил службу. Она тоже не работает для меня:
vim /etc/rc.local
Я ввел следующее в rc.local:
sh /etc/init.d/openfire start
Если кто-то сталкивается с такой же проблемой, дайте мне знать, как я могу ее исправить.
Вам действительно нужно глубже разобраться, чтобы найти коренную причину. Слепое добавление chkconfig на каждый уровень выполнения не решит проблему.
- Проверьте /var/log/messages на предмет проблем/ошибок при запуске.
- Добавьте set -x сразу после #!/bin/sh в /etc/init.d/openfire — это позволит отладить сценарий.
У меня такой же вопрос, и я решил его с помощью stackoverflow.
cd /opt/openfire/jre/bin
cp java java.bak
rm java
ln -s /usr/bin/java java
service openfire start
Ответ или решение
Проблема, с которой вы столкнулись, когда Openfire не запускается автоматически при старте сервера на CentOS 6.5, может иметь несколько причин. Вот пошаговое руководство для диагностики и исправления проблемы.
Шаг 1: Проверка системных логов
Первым делом, проверьте системные журналы на наличие сообщений об ошибках, связанных с запуском Openfire. Выполните следующую команду:
tail -f /var/log/messages
Это позволит вам увидеть любые ошибки, которые могут возникать при загрузке системы. Обратите внимание на сообщения, относящиеся к Openfire, и запишите ошибки, если они есть.
Шаг 2: Диагностика скрипта инициализации
Чтобы больше узнать о том, что происходит при запуске Openfire, добавьте команду отладки в файл инициализации. Откройте /etc/init.d/openfire
в текстовом редакторе и добавьте следующую строку сразу после #!/bin/sh
:
set -x
После этого сохраните изменения и перезагрузите сервер. Это может помочь вам отследить, на каком именно этапе скрипт не выполняется должным образом.
Шаг 3: Проверка запуска Java
Некоторые проблемы могут быть связаны с тем, что Openfire не может найти Java или ее версия неверна. Если вы изменяли или переустанавливали Java, выполните следующие команды:
cd /opt/openfire/jre/bin
cp java java.bak
rm java
ln -s /usr/bin/java java
Эти команды создадут символическую ссылку на используемую версию Java, что может помочь Openfire корректно запуститься.
Шаг 4: Перезапуск Openfire
После того как вы проверили логи и внесли изменения в скрипт инициализации, попробуйте снова запустить службу:
service openfire start
Шаг 5: Проверка файла rc.local
Убедитесь, что скрипт в /etc/rc.local
выполняется корректно. Если вы добавили строку для запуска Openfire, убедитесь, что она выглядит следующим образом:
/etc/init.d/openfire start
Не забудьте сделать файл исполняемым:
chmod +x /etc/rc.d/rc.local
Шаг 6: Обновление конфигурации
Также убедитесь, что Openfire обновлен до последней версии, так как устаревшая версия может содержать ошибки, которые были исправлены в новых версиях.
Заключение
Следуйте этим шагам, чтобы диагностировать и исправить проблему с автоматическим запуском Openfire. Если после всех выполненных действий проблема сохраняется, будьте готовы предоставить больше информации об ошибках из логов для более глубокой диагностики.