मैं एक नई CentOS 7 वर्चुअल मशीन पर टोमकैट स्थापित करने की कोशिश कर रहा हूं। मैंने सफलतापूर्वक अपाचे httpd को स्थापित किया है, और जब मैं नेटवर्क में किसी अन्य कंप्यूटर पर वेब ब्राउज़र में वर्चुअल मशीन का आईपी टाइप करता हूं, तो मैं अपाचे परीक्षण पृष्ठ प्राप्त करने में सक्षम हूं। लेकिन मुझे टाइप करते समय निम्न त्रुटि संदेश मिल रहा है systemctl start tomcat
:
Job for tomcat.service failed. See 'systemctl status tomcat.service' and 'journalctl -xn' for details.
यहाँ जावा और टॉमकैट की स्थापना में कमांड का पूरा इतिहास दिया गया है:
मैंने सबसे पहले इस ट्यूटोरियल के निर्देशों का उपयोग करके जावा स्थापित करना शुरू किया क्योंकि टॉमकैट निर्देश (नीचे दूसरा ब्लॉक) चाहता था कि मैं ओपनजेडक का उपयोग करूं, और मुझे असली जावा का उपयोग करने की आवश्यकता है:
//Install Java
# cd /opt/
# yum install wget
# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-x64.tar.gz"
# tar xzf jdk-8u60-linux-x64.tar.gz
# cd /opt/jdk1.8.0_60/
# alternatives --install /usr/bin/java java /opt/jdk1.8.0_60/bin/java 2
# alternatives --config java
(Select the version you want)
# alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_60/bin/jar 2
# alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_60/bin/javac 2
# alternatives --set jar /opt/jdk1.8.0_60/bin/jar
# alternatives --set javac /opt/jdk1.8.0_60/bin/javac
# java -version (checks to see you install correct version)
# export JAVA_HOME=/opt/jdk1.8.0_60
# export JRE_HOME=/opt/jdk1.8.0_60/jre
# export PATH=$PATH:/opt/jdk1.8.0_60/bin:/opt/jdk1.8.0_60/jre/bin
ध्यान दें कि पूर्ववर्ती ट्यूटोरियल यह नहीं समझाता है कि पर्यावरण चर को कैसे रखा /etc/environment
जाए, इसलिए मैं उस आदेश से पहले रुक गया।
निम्नलिखित आदेश इस अन्य ट्यूटोरियल से हैं । मैंने जावा स्थापित करने के बाद इस बिंदु पर शुरुआत की:
//Install Tomcat
Login as sudo user, not root.
# sudo groupadd tomcat
# sudo useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat
# cd ~
# wget http://mirrors.gigenet.com/apache/tomcat/tomcat-8/v8.0.27/bin/apache-tomcat-8.0.27.tar.gz
# sudo mkdir /opt/tomcat
# sudo tar xvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1
# cd /opt/tomcat
# sudo chgrp -R tomcat conf
# sudo chmod g+rwx conf
# sudo chmod g+r conf/*
# sudo chown -R tomcat work/ temp/ logs/
# sudo vi /etc/systemd/system/tomcat.service
Cut and paste the following file contents:
##################################################
# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
##################################################
# sudo systemctl daemon-reload
# sudo systemctl start tomcat
Job for tomcat.service failed. See 'systemctl status tomcat.service' and 'journalctl -xn' for details.
# sudo systemctl start tomcat.service
Tomcat.service के लिए नौकरी विफल रही। विवरण के लिए 'systemctl स्टेटस tomcat.service' और 'journalctl -xn' देखें। # sudo systemctl सक्षम करें tomcat.service ln -s '
# sudo systemctl status tomcat.service
tomcat.service - Apache Tomcat Web Application Container
Loaded: loaded (/etc/systemd/system/tomcat.service; enabled)
Active: failed (Result: exit-code) since Tue 2015-10-13 11:05:31 PDT; 47s ago
Oct 13 11:05:31 localhost.localdomain kill[20887]: -q, --queue <sig> use sigqueue(2) rather than kill(2)
Oct 13 11:05:31 localhost.localdomain kill[20887]: -p, --pid print pids without signaling them
Oct 13 11:05:31 localhost.localdomain kill[20887]: -l, --list [=<signal>] list signal names, or convert one to a name
Oct 13 11:05:31 localhost.localdomain kill[20887]: -L, --table list signal names and numbers
Oct 13 11:05:31 localhost.localdomain kill[20887]: -h, --help display this help and exit
Oct 13 11:05:31 localhost.localdomain kill[20887]: -V, --version output version information and exit
Oct 13 11:05:31 localhost.localdomain kill[20887]: For more details see kill(1).
Oct 13 11:05:31 localhost.localdomain systemd[1]: tomcat.service: control process exited, code=exited status=1
Oct 13 11:05:31 localhost.localdomain systemd[1]: Failed to start Apache Tomcat Web Application Container.
Oct 13 11:05:31 localhost.localdomain systemd[1]: Unit tomcat.service entered failed state.
एक कर yum localinstall
एक अद्यतन JDK आरपीएम की, के रूप में सुझाव यह अन्य पोस्टिंग में , काम नहीं किया।
संपादन:
@ ब्रैम के सुझाव के अनुसार, मैंने कॉन्फ़िगर फ़ाइल को निम्न में बदल दिया, लेकिन मुझे अभी भी वही त्रुटि मिल रही है:
# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME=/opt/jdk1.8.0_60
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
इसके अलावा, चैट में @ JeffSchaller की टिप्पणी के अनुसार, मैं मूल रूप से शुरू करने के लिए टॉमकैट प्राप्त करने में सक्षम था:
[user@localhost tomcat]$ sudo /opt/tomcat/bin/startup.sh
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /
Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Tomcat started.
[user@localhost tomcat]$
इस प्रकार इस ओपी में समस्या systemd config के साथ लगती है। मेरे द्वारा यह कैसे किया जा सकता है?
sudo systemctl start tomcat.service
सैकड़ों लाइनों में ले जाने की अनुमति से इनकार त्रुटियों का एक गुच्छा है।