http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/systemd-house-of-horror/tomcat.html

On Wed, Mar 16, 2016 at 1:01 PM, Lyallex <lyal...@gmail.com> wrote:
> 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
>

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

Reply via email to