设为首页 收藏本站
查看: 511|回复: 0

[经验分享] 在SUSE Linux中将Tomcat自动启动

[复制链接]

尚未签到

发表于 2016-2-19 08:14:18 | 显示全部楼层 |阅读模式
在/etc/init.d/boot.local文件中添加命令。Red Hat系统的对应文件是/etc/rc.d/rc.local。

对于Linux系统启动时自动运行的命令或程序,在rh-based linux 系统,一般常见是放在 /etc/rc.d/rc.local 中。但SuSE Linux 没有这个文件,另外也不推荐使用者这样管理启动服务。推荐使用正规的方式来管理服务启动方式。

有人会说,在SuSE系统里,可以放在 /etc/init.d/boot.local 中,这要看实际情况。因为 SuSE 的 /etc/init.d/boot.local 文件是由/etc/init.d/boot 这个 script 所启动的,而且是最后 boot script 工作完成要准备进入 runlevel 环境执行各项 rc script 时所执行。而rh 的 /etc/rc.d/rc.local 档案是 runlevel 环境执行各项 rc script 时最后一个阶段执行的,所以层面不一样。如果你要运行的程序适合于runlevel 这项服务之前就执行的话,在SuSE linux 中可以放在 boot.local 文件里。

但如果你的服务需要是在进入 runlevel 后才执行的话,SuSE 下正规做法应该是自己写一个 rc script放到 /etc/init.d/ 目录下,然后使用 chkconfig or inssev 程序来管理配置能够于某个 runlevel 环境开机时是否要启用关闭该服务项目。该 rc script 写法可以自己参考一下 /etc/init.d/ 里面现成的 script 档案,应该很容易就写一个自己的版本。



一、创建启动/停止脚本文件

通过一下脚本,可以使Tomcat以Service方式运行。

#!/bin/bash
# chkconfig: 2345 10 90
# description: Starts and Stops the Tomcat daemon.

TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-5.5.25
TOMCAT_START=$TOMCAT_HOME/bin/startup.sh
TOMCAT_STOP=$TOMCAT_HOME/bin/shutdown.sh

# necessary environment variables export
CATALINA_HOME=$TOMCAT_HOME
export JAVA_HOME=/usr/java/jdk1.6.0_03

# source function library.
. /etc/rc.d/init.d/functions

# source networking configuration.
. /etc/rc.d/network

# check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 0


# check for tomcat script
if [ ! -f $TOMCAT_HOME/bin/catalina.sh ]
then echo "Tomcat not valilable..."
exit
fi

start(){
    echo -n "Starting Tomcat: "
    daemon $TOMCAT_START
    echo
    touch /var/lock/subsys/tomcat
}

stop(){
    echo -n $"Shutting down Tomcat: "
    daemon $TOMCAT_STOP
    rm -f /var/lock/subsys/tomcat.pid echo
}

restart(){
    stop
    start
}

status(){
    ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap start" | awk '{printf $1 " "}' | wc | awk '{print $2}' > /tmp/tomcat_process_count.txt
    read line < /tmp/tomcat_process_count.txt
    if [ $line -gt 0 ]; then
        echo -n "tomcat ( pid "
        ps ax --width=1000 | grep "org.apache.catalina.startup.Bootstrap start" | awk '{printf $1 " "}'
        echo -n ") is running..."
        echo
    else
        echo "Tomcat is stopped"
    fi
}

case "$1" in
    start)
        start ;;
    stop)
        stop ;;
    restart)
        stop
        sleep 3
        start ;;
    status)
        status ;;
    *)
    echo "Usage: tomcatd {start|stop|restart|status}"
    exit 1
esac
exit 0


二、保存并设置脚本文件

将以上的脚本文件保存在/etc/init.d中,命名为tomcat;
设置tomcat的文件属性
    #chmod a+x tomcat

三、设置服务运行级别
最后用chkconfig设置服务运行
    #chkconfig --add tomcat

服务就添加成功了。

然后你就可以用 chkconfig --list 查看,在服务列表里就会出现自定义的服务了。



注意:
在tomcat文件的头两行的注释语句中,需要包含chkconfig和description两部分内容(确认不要拼写错误,),否则在执行“chkconfig --add tomcat”时,会出现“tomcat服务不支持chkconfig”的错误提示。

chkconfig这行表示缺省启动的运行级别以及启动和停止的优先级,如该服务缺省不再任何运行级启动,则以 - 代替运行级别。在tomcat中表示脚本在运行级2、3、4、5启动,启动优先权为10,停止优先权为90。

description行对服务进行描述,可以用 “\” 跨行注释。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-179770-1-1.html 上篇帖子: Add mode_proxy into Apache in linux 下篇帖子: (转载)linux安装fms2.0.4
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表