Я установил ejabbered из исходного кода в centos 7, он работает нормально, но теперь проблема только в том, как автоматически запустить его с системой. Я пробовал запускать приложение, метод файла rc.local, но все не удалось, есть ли другой способ запустить ejabbered с системой?
Редактировать: - Я скачиваю ejabberd.service файл, переименуйте его в ejabberd.service и скопируйте в /etc/systemd/system/
и запустите эту команду systemctl enable ejabberd.service
чтобы включить его, но ejabberd по-прежнему не работает с системой.
Я смог запустить это, используя ejabberd.service
Внутри этого файла я изменил путь так @ ctlscriptpath @ был заменен фактическим путем моей установки.
Затем я смог запустить и проверить статус службы.
Если вы уже пробовали запустить службу с исходным файлом, вам нужно будет запустить: systemctl демон-перезагрузка перед запуском: systemctl запускает ejabberd
В моем случае это было: /opt/ejabberd-17.11/bin/ejabberdctl, а не: @ ctlscriptpath @ / ejabberdctl
(убедитесь, что вы изменили путь в каждом месте !!)
Вполне возможно, что есть другой способ заменить переменную более подходящим способом (я не нашел более подходящего способа за несколько минут поиска в Google, надеюсь вернуться к этому позже).
В системе * nix, если вы хотите, чтобы ejabberd запускался как демон во время загрузки, скопируйте ejabberd.init из каталога 'bin' в что-то вроде /etc/init.d/ejabberd (в зависимости от вашего дистрибутива).
Создайте системного пользователя с именем ejabberd, дайте ему доступ на запись в каталогах database / и logs / и установите его как home; сценарий запустит сервер с этим пользователем. Тогда вы можете позвонить /etc/inid.d/ejabberd
запустите как root, чтобы запустить сервер.