Apologies for dredging this up but I'm having some problems with this.
Any ideas much appreciated.

Ii have been forced to move from a version of centOS the used the old
/etc/rc.d/init.d
way of doing things to a new version of CentOS that uses systemd. The
hosts can't or won't help because I'm using a 'non-standard setup'
Basically I'm using tomcat standalone on port 80 to serve up my site.
I use jsvc with a start/stop script in /etc/rc.d/init.d with symbolic
links in rc2.d, rc3.d. rc4.d and rc5.d This has been working
faultlessly for nearly 4 years.

I have installed Tomcat, Java and all required resources on the new
server, I have dulpicated the configuration in /etc but needless to
say when I restart the server Tomcat doesn't start

Starting from the command line as root with /etc/rc.d/init.d/tomcat7
works as it has always done and starts tomcat as root then switches to
an unprivileged, no login user (tomcat)

I followed your instructions and came up with the following

# touch /etc/systemd/system/tomcat.service
# nano /etc/systemd/system/tomcat.service

tomcat.service looks like this

 [Unit]
Description=The Jakarta Apache/Tomcat Server
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.d/init.d/tomcat7 start
ExecStop=/etc/rc.d/init.d/tomcat7 stop

[Install]
WantedBy=multi-user.target

# chmod 664 /etc/systemd/system/tomcat.service

[root@vps init.d]# systemctl daemon-reload

[root@vps init.d]# systemctl start tomcat.service
Job for tomcat.service failed because the control process exited with
error code. See "systemctl status tomcat.service" and "journalctl -xe"
for details.

[root@vps init.d]# systemctl status tomcat.service
 tomcat.service - The Jakarta Apache/Tomcat Server
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled;
vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2016-03-16 16:40:55 GMT; 18s ago
  Process: 4596 ExecStart=/etc/rc.d/init.d/tomcat7 start (code=exited,
status=203/EXEC)

Mar 16 16:40:55 vps.example.com systemd[1]: Starting The Jakarta
Apache/Tomcat Server...
Mar 16 16:40:55 vps.example.com systemd[1]: tomcat.service: control
process exited, code=exited status=203
Mar 16 16:40:55 vps.example.com systemd[1]: Failed to start The
Jakarta Apache/Tomcat Server.
Mar 16 16:40:55 vps.example.com systemd[1]: Unit tomcat.service
entered failed state.
Mar 16 16:40:55 vps.example.com systemd[1]: tomcat.service failed.

tomcat7 fwiw


# chkconfig: - 71 19
# description:  Start up the Tomcat servlet engine.
# this is the startup file for the new version
# 24/10/2013 by lyallex
# use java 7
# JAVA_HOME=/usr/local/java/jdk1.6.0_07
JAVA_HOME=/opt/jdk1.7.0_45
CATALINA_HOME=/opt/apache-tomcat-7.0.42
export JAVA_HOME CATALINA_HOME
CLASSPATH=$CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/commons-daemon.jar:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/bin/tomcat-juli.jar
TOMCAT_USER=tomcat
TMPDIR=/var/tmp
PIDFILE=/var/run/tc7/jsvc.pid


RC=0

case "$1" in

  start)

   $CATALINA_HOME/bin/jsvc -user $TOMCAT_USER -home $JAVA_HOME
-Dcatalina.home=/opt/apache-tomcat-7.0.42
-Dcatalina.base=$CATALINA_HOME -Djava.io.tmpdir=$TMPDIR
-Djava.awt.headless=true \
     -Xms512m \
     -Xmx1024m \
     -outfile $CATALINA_HOME/logs/catalina.out \
     -errfile $CATALINA_HOME/logs/catalina.err \
     -pidfile '/var/run/tc7/jsvc.pid' \
     -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \
     -Djava.util.logging.config.file=$CATALINA_HOME/conf/logging.properties \
     -cp $CLASSPATH  \
     org.apache.catalina.startup.Bootstrap

    RC=$?

    [ $RC = 0 ] && touch /var/tc7lock/subsys/tomcat
    echo "starting tomcat7 on darkstar with:"
    echo "JAVA_HOME=$JAVA_HOME"
    echo "CATALINA_HOME=$CATALINA_HOME"
    echo "CLASSPATH=$CLASSPATH"
    echo "tomcat started"

   echo "CLASSPATH=$CLASSPATH"
    echo "tomcat started"
    ;;

  stop)

    PID=`cat /var/run/tc7/jsvc.pid`
    kill $PID

   RC=$?

    [ $RC = 0 ] && rm -f /var/tc7lock/subsys/tomcat /var/run/tc7/jsvc.pid
    echo "stopping tomcat7 on darkstar with:"
    echo "JAVA_HOME=$JAVA_HOME"
    echo "CATALINA_HOME=$CATALINA_HOME"
    echo "CLASSPATH=$CLASSPATH"

    echo "tomcat stopped"
    ;;

  *)
        echo "Usage: $0 {start|stop}"
        exit 1
esac
exit $RC



TIA
Lyallex


On 5 June 2015 at 13:37, Ray Holme <rayho...@yahoo.com.invalid> wrote:
> That looks OK, but I would suggest the following.
> Put all the real stuff in a standard bash script with 3 parameters   start, 
> stop, restart- pretty much like the OLD system 5 way fo doing things.This has 
> the advantage of allowing you to add other things you might want to add AND 
> executing the script as root is pretty obvious. (I needed to add starting an 
> LibreOffice server and a few other daemons to get that going). Embed the 
> catalina start stop in that script.The just make the systemd script VERY 
> SIMPLY call your standard above start/stop script.
> e.g. my script name is S95tomcat and the systemd entry is trivial.
> here is tomcat.service:
>
> [Unit]
> Description=The Jakarta Apache/Tomcat Server
> After=network.target
>
> [Service]
> Type=forking
> ExecStart=/local/bin/S95tomcat start
> ExecReload=/local/bin/S95tomcat restart
> ExecStop=/local/bin/S95tomcat stop
>
> [Install]
> WantedBy=multi-user.target
>
>
>
>      On Thursday, June 4, 2015 9:31 PM, Dale Ogilvie 
> <dale_ogil...@trimble.com> wrote:
>
>
>  Hi all,
>
> I am trying to put together a systemd script for an install of the current 
> binary release tomcat7. Follows my current best effort, cobbled together from 
> the (RH)EL7 packaged version and some googling... I am trying to use the 
> unadulterated tomcat up/down scripts from the binary release.
>
> Any suggestions as to how this might be improved? I'm not sure if I am using 
> the right service type here, based on what catalina.sh is doing under the 
> hood. That said, it seems to work.
>
> Thanks
>
> Dale
>
> **** follows apache-tomcat.service
>
> # Systemd unit file for apache-tomcat
> #
>
> [Unit]
> Description=Apache Tomcat Web Application Container
> After=syslog.target network.target
>
> [Service]
> Type=forking
> PIDFile=/var/run/apache-tomcat/apache-tomcat.pid
> ExecStart=/opt/apache-tomcat/bin/startup.sh
> ExecStop=/opt/apache-tomcat/bin/shutdown.sh
> SuccessExitStatus=0
> User=apache-tomcat
> Group=apache-tomcat
>
>
> [Install]
> WantedBy=multi-user.target
>
> ***** follows setenv.sh commented out sections removed
>
> # Where your java installation lives
> JAVA_HOME="/usr/java/latest"
>
> # Where your tomcat installation lives
> CATALINA_BASE="/opt/apache-tomcat"
> CATALINA_HOME="/opt/apache-tomcat"
> CATALINA_OUT="/var/log/apache-tomcat/catalina.out"
> JASPER_HOME="/opt/apache-tomcat"
> CATALINA_TMPDIR="/opt/apache-tomcat/temp"
>
> CATALINA_OPTS="-Xms1G -Xmx2G"
>
> # What user should run tomcat
> TOMCAT_USER="apache-tomcat"
>
> # Run tomcat under the Java Security Manager
> SECURITY_MANAGER="false"
>
> # Time to wait in seconds, before killing process
> SHUTDOWN_WAIT="90"
>
> # Whether to annoy the user with "attempting to shut down" messages or not
> SHUTDOWN_VERBOSE="false"
>
> # Set the TOMCAT_PID location
> CATALINA_PID="/var/run/apache-tomcat/apache-tomcat.pid"
>
> # Connector port is 8080 for this tomcat instance
> CONNECTOR_PORT="8080"
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to