Я установил ejabbered из исходного кода в centos 7, он работает нормально, но теперь проблема только в том, как его автоматически запустить вместе с системой. Я пробовал запускать приложение, файл rc.local, но ничего не получилось. Есть ли другой способ запустить ejabbered с системой?
Изменить: -
I download ejabberd.service file and rename it ejabberd.service and copied it to /etc/systemd/system/
and run this command systemctl enable ejabberd.service
to enable it but still ejabberd is not running with system.
На *nix системе, если вы хотите, чтобы ejabberd запускался как демон во время загрузки, скопируйте ejabberd.init из каталога 'bin' во что-нибудь вроде /etc/init.d/ejabberd (в зависимости от вашего дистрибутива).
Создайте системного пользователя под названием ejabberd, дайте ему доступ на запись в каталоги базы данных/ и журналы/, и установите его как домашний; скрипт запустит сервер с этим пользователем. Затем вы можете вызвать /etc/inid.d/ejabberd
start as root для запуска сервера.
Мне удалось запустить это, используя ejabberd.service
Внутри этого файла я изменил путь, поэтому @ ctlscriptpath @ был заменен фактическим путем моего установка.
Затем я смог запустить и проверить состояние службы.
Если вы уже пробовали запустить службу с исходным файлом, вам нужно будет запустить: systemctl daemon-reload перед запуском: systemctl start ejabberd
В моем случае это было: / opt / ejabberd-17.11 / bin / ejabberdctl, а не: @ ctlscriptpath @ / ejabberdctl
(убедитесь, что вы изменили путь в каждом месте !!)
Вполне возможно, что есть другой способ заменить переменную более подходящей (Я не нашел более подходящего способа за несколько минут поиска в Google, надеюсь вернуться к этому позже.)