سؤال فشل في بدء tomcat.service: لم يتم العثور على وحدة tomcat.service


لا يبدو لي أن تشغيل خدمة قط من المستخدم العادي وبينما أحاول هذا كجذر أحصل عليه

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*

2
2018-02-16 06:40


الأصل




الأجوبة:


أستخدم Ubuntu 16.04 أثناء مواجهة هذه المشكلة. لقد قمت بحلها

أولاً ، أضف سطرًا واحدًا إلى الجزء العلوي من البرنامج النصي:

. /lib/lsb/init-functions

ثم في shell ، أنشئ روابط رمزية من / etc / rc * إلى البرنامج النصي:

sudo update-rc.d tomcat defaults 95

سيؤدي هذا أيضًا إلى تشغيل النص البرمجي تلقائيًا بعد إعادة التشغيل.


2
2018-03-14 12:28



عملت بالنسبة لي ، على الرغم من أنني لم تضطر إلى إضافة هذا السطر الأول ، وأسقط أيضا 95 (ولكن يبدو أن ترك الأمر هو نفسه) - DarkCygnus