Would you mind posting your server.xml, here is the relevant bit from mine.

 <Service name="Catalina">

    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

    <Engine name="Catalina" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.LockOutRealm">

        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>

      </Realm>

      <Host name="localhost"  appBase="webapps" unpackWARs="true"
autoDeploy="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               rotatable="false" pattern="combined" />
      </Host>

    </Engine>
  </Service>

On 18 March 2016 at 23:35, Daniel Savard <daniel.sav...@gmail.com> wrote:
> I believe all distros have over engineered the scripts to start
> Tomcat. Forget all the scripts from your distro, learn the
> signification of the environment variables from the catalina.sh script
> shipped with the default Tomcat version. Define your variables in a
> file, this file is not a script, so you cannot reuse a previously
> defined variable, feed your systemd service definition file with this
> file in the service section as EnvironmentFile=/path/name/to/your/file
> ExecStart=/path/to/catalina.sh start
> ExecStop=/path/to/catalina.sh stop
>
> and you are done. You control everything from the environment file,
> you can easily manage the environment variables without editing the
> systemd's service file.
>
> It is much simpler than the OpenRC set of scripts at my humble
> opinion. I am running Gentoo at home and RHEL at work and both distros
> wrapped Tomcat into too many layers of scripts in order to make it
> working with OpenRC while none of these are required to run and manage
> Tomcat with systemd.
>
> In particular with Gentoo, I no longer use the Tomcat distro packaged
> with Gentoo because they separated the servlet api from Tomcat and you
> need to wrap things into layers of scripts to define the classpath
> properly taking this into account, the vanilla classpath.sh file
> distributed with Tomcat doesn't work and so one. Really, they did a
> very bad job at integrating Tomcat.
>
> Here is my service file:
>
> [Unit]
> Description=Tomcat 8 (Dev)
> After=syslog.target
> After=network.target
>
> [Service]
> EnvironmentFile=/tomcat/tomcat-8-dev/bin/tomcat-8-dev.env
> Type=forking
> User=tomcat
> Group=tomcat
> ExecStart=/opt/apache-tomcat/apache-tomcat-8.0.32_ds/bin/catalina.sh start
> ExecStop=/opt/apache-tomcat/apache-tomcat-8.0.32_ds/bin/catalina.sh stop
>
> [Install]
> WantedBy=multi-user.target
>
>
> And here is the content of my EnvironmentFile:
>
> CATALINA_HOME="/opt/apache-tomcat/apache-tomcat-8.0.32_ds"
> CATALINA_BASE="/tomcat/tomcat-8-dev"
> CATALINA_OUT="/var/log/tomcat-8-dev/catalina.out"
> JAVA_HOME="/opt/oracle-jdk-bin-1.8.0.74"
> CATALINA_PID="/var/run/tomcat-8-dev.pid"
>
>
> -----------------
> Daniel Savard
>
>
> 2016-03-18 13:31 GMT-04:00 Lyallex <lyal...@gmail.com>:
>> I thought you might be interested in the resolution to this.
>>
>> It turns out that we needed to reproduce the environment in tomcat.service
>>
>> For some reason
>>
>> ExecStart=/etc/rc.d/init.d/tomcat7 doesn't work
>> (file shown at the end of this message)
>>
>> Instead, in  /etc/systemd/system/tomcat.service
>> we have had to reproduce the environment in longhand to get it to work.
>> It appears that systemd doesn't expand variables so I really need to
>> investigate the systemd Environment thing a bit more.
>> Anyway, when I shutdown -r now the server comes back up and tomcat is
>> running at the unprivileged tomcat user on port 80 so that's a result
>>
>> ============== /etc/systemd/system/tomcat.service ============
>> [Unit]
>> Description=Apache Tomcat Web Application Container
>> After=network.target
>>
>> [Service]
>> Type=forking
>> User=root
>>
>> ExecStart=/opt/apache-tomcat-7.0.42/bin/jsvc \
>> -user tomcat \
>> -home /opt/jdk1.7.0_45 \
>> -Dcatalina.home=/opt/apache-tomcat-7.0.42 \
>> -Dcatalina.base=/opt/apache-tomcat-7.0.42 \
>> -Djava.io.tmpdir=/var/tmp \
>> -Djava.awt.headless=true \
>> -Xms512m \
>> -Xmx1024m \
>> -outfile /opt/apache-tomcat-7.0.42/logs/catalina.out \
>> -errfile /opt/apache-tomcat-7.0.42/logs/catalina.err \
>> -pidfile /var/run/tc7/jsvc.pid \
>> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \
>> -Djava.util.logging.config.file=/opt/apache-tomcat-7.0.42/conf/logging.properties
>> \
>> -cp 
>> /opt/apache-tomcat-7.0.42/bin/bootstrap.jar:/opt/apache-tomcat-7.0.42/bin/commons-daemon.jar:/opt/jdk1.7.0_45/lib/tools.jar:/opt/apache-tomcat-7.0.42/bin/tomcat-juli.jar
>> \
>> org.apache.catalina.startup.Bootstrap
>>
>> ExecStop=/bin/kill -9 /var/run/tc7/jsvc.pid
>> ExecStopPost=/bin/rm -f /var/tc7lock/subsys/tomcat /var/run/tc7/jsvc.pid
>>
>> [Install]
>> WantedBy=multi-user.target
>>
>>
>> Oh happy day
>> Thanks again to all responders
>>
>> Lyallex
>>
>> ========= /etc/rc.d/init.d/tomcat7  =========
>>
>> 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"
>>     ;;
>>
>>   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
>>
>> ---------------------------------------------------------------------
>> 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