Я, может казаться, не выполняю сервис кота от обычного пользователя и в то время как я пробую это как корень, я добираюсь
root@ip-:/home/ubuntu# service tomcat
Run as /etc/init.d/tomcat <start|stop|restart>
root@ip-:/home/ubuntu# service tomcat start
Failed to start tomcat.service: Unit tomcat.service not found.
root@ip-:/home/ubuntu#
Я действительно выполнял его вручную, и это, казалось, работало
root@ip-:/home/ubuntu# /etc/init.d/tomcat start
Using CATALINA_BASE: /usr/local/tomcat/current_tomcat
Using CATALINA_HOME: /usr/local/tomcat/current_tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/current_tomcat/temp
Using JRE_HOME: /usr/local/java/current_java
Using CLASSPATH: /usr/local/tomcat/current_tomcat/bin/bootstrap.jar:/usr/local/tomcat/current_tomcat/bin/tomcat-juli.jar
Tomcat started.
Если я выполняю его как обычный пользователь, я, может казаться, не получаю разрешение. У меня есть пользователи ни под каким паролем только ssh ключи.
ubuntu@ip-:~$ service tomcat start
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to start 'tomcat.service'.
Multiple identities can be used for authentication:
1. Ubuntu (ubuntu)
2. An,,, (an)
Choose identity to authenticate as (1-2): 1
Password:
polkit-agent-helper-1: pam_authenticate failed: Authentication failure
==== AUTHENTICATION FAILED ===
Failed to start tomcat.service: Access denied
See system logs and 'systemctl status tomcat.service' for details.
ubuntu@ip-:~$
И вот сценарий для сервиса
ubuntu@ip-:~# cat /etc/init.d/tomcat
#!/bin/bash
export CATALINA_HOME=/usr/local/tomcat/current_tomcat`
start() {
sh $CATALINA_HOME/bin/startup.sh
}
stop() {
sh $CATALINA_HOME/bin/shutdown.sh
}
case $1 in
start|stop) $1;;
restart) stop; start;;
*) echo "Run as $0 <start|stop|restart>"; exit 1;;
esac
ubuntu@ip-:~# ll /etc/init.d/tomcat
-rwxr-xr-x 1 root root 306 Feb 14 07:20 /etc/init.d/tomcat*
Я использую Ubuntu 16.04 при обнаружении с этой проблемой. Я решил его.
Во-первых, добавьте одну строку к верхней части сценария:
. /lib/lsb/init-functions
Затем в оболочке, создайте символьные ссылки из/etc/rc* к моему сценарию:
sudo update-rc.d tomcat defaults 95
Это также заставит Ваш сценарий работать автоматически за перезагрузкой.