Я установил elasticsearch. Это - то, как я выполняю его в настоящее время.
cd /elasticsearch-6.3.1/bin
./elasticsearch
Это хорошо работает. Но, я хочу запустить эту программу как услуга. Как, я хочу выполнить его как,
sudo service elasticsearch restart
Это должно выполнить elasticsearch. Я попытался создать сценарий в /etc/init.d
, но это не работает. Это - то, что я сделал,
cd /etc/init.d
sudo vim elasticsearch
Это довольно в том файле,
cd /elasticsearch-6.3.1/bin
./elasticsearch
Что рекомендуемый путь состоит в том, чтобы достигнуть этого?
Создайте новомодный сценарий как следующее
# ElasticSearch upstart script
description "ElasticSearch service"
start on (net-device-up
and local-filesystems
and runlevel [2345])
stop on runlevel [016]
respawn
respawn limit 10 30
# NB: Upstart scripts do not respect
# /etc/security/limits.conf, so the open-file limits
# settings need to be applied here.
limit nofile 32000 32000
setuid elasticsearch
setgid elasticsearch
exec /path/to/elasticsearch/bin/elasticsearch -f -Des.default.config=/path/to/config/elasticsearch.yml -Des.default.path.home=/usr/share/elasticsearch/ -Des.default.path.logs=/var/log/elasticsearch/ -Des.default.path.data=/var/lib/elasticsearch/ -Des.default.path.work=/tmp/elasticsearch -Des.default.path.conf=/path/to/config/
Замените пути полными путями в Вашем случае. Сохраните это как elasticsearch.conf
в /etc/init/
Также обратите внимание, что Вы являетесь лучшими от выполнения elasticsearch как свой собственный пользователь (следовательно setuid и setgid строки)