配置tomcat7为系统service
参考:
编译jsvc
按照“Tomcat Setup”官方指南编译jsvc
将编译好的jsvc拷贝到$CATALINA_HOME/bin下面
1 2 3 4 5 6 7 | cd $CATALINA_HOME/bin tar xvfz commons-daemon-native.tar.gz cd commons-daemon-1.0.x-native-src/unix ./configure make cp jsvc ../.. cd ../.. |
至此,jsvc编译完成,并在 $CATALINA_HOME/bin下面
为tomcat创建一个用户
如果使用root启动tomcat service,需要关闭org.apache.catalina.security.SecurityListener 检查设置。
把server.xml中的 <Listener className=”org.apache.catalina.security.SecurityListener” />注释掉就可以了
所以,可以为tomcat创建一个专用的用户,依据用途,例如:
1 2 3 4 5 | useradd -d /home/jenkins -s /bin/bash jenkins passwd jenkins mkdir /home/jenkins cp /etc/skel/* /home/jenkins chown -R jenkins:jenkins /home/jenkins |
备注:默认模板文件:/etc/skel
里面包括了:.bash_logout .bash_profile .bashrc 等文件
配置/etc/init.d的启动脚本
启动脚本的模板是 $CATALINA_HOME/bin/daemon.sh
将模板稍作修改,拷贝到/etc/init.d 下即可。
例如,
1 2 3 | cp $CATALINA_HOME/bin/daemon.sh tomcat7 ... modify tomcat7 script file ... /etc/init.d/tomcat7 start (作为service启动tomcat7) |
在tomcat7启动脚本里边的修改:
1 | test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat |
改为:
1 | test ".$TOMCAT_USER" = . && TOMCAT_USER=jenkins |
在“# —– Execute The Requested Command —-”之前强制设置下HOME,防止当前root的HOME
1 | export HOME=/home/jenkins |