分享好友 最新动态首页 最新动态分类 切换频道
Linux设置程序开机自启动
2024-12-26 20:02

注意:

Linux设置程序开机自启动

作者测试时,Linux版本为RedHat6,同时应用在CentOS6应该也可以(作者未实测,但有同事在CentOS6上使用可行),系统版本的不同,可能造成操作上的差异(CentOS7就与CentOS6有较大的不同),但具体的思路可借鉴。

以下操作均在root权限下

 

Linux下配置某个服务的开机自启动,分为两种情况:一种是已经挂载的,另一种是未挂载的。

已经挂载的程序可以使用 chkconfig命令查到运行等级,如httpd服务

 

执行命令:

 

#chkconfig  --list |grep httpd

 

打印信息:

httpd  0:off    1:off 2:off   3:off  4:off   5:off   6:off

未挂载的程序,不会打印任何信息,如Tomcat

 

执行chkconfig  --list |grep tomcat,没有打印任何信息

 

以httpd服务举例。

 

在root用户下打开一个终端。

 

执行命令:

chkconfig  --list |grep httpd 

可以看到0~6都是off。

执行命令:

 # chkcongfig httpd on

执行命令:

chkconfig  --list |grep httpd 

执行完chkcongfig httpd on后,2~5对应的值变成了on.

 

此时我们通过service httpd status 查看http服务状态,是stopped状态,没有开机自启动,此时我们重启Linux电脑,再来查看httpd服务是否开机启动

 

重启Linux,查看httpd服务状态:service httpd status,可以看到httpd服务已经启动

 

知识扩展:

执行chkcongfig httpd on 可以加--level参数,指定将0~6哪些级别开启,命令格式如下:

# chkcongfig  --level   345  httpd on 

345就是需要开启(由off变成on)的数字,而不加—level参数时,默认打开的是2~5

 

0~6对应的运行级别如下:

Linux系统有7个运行级别(runlevel)
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

 

未挂载的程序开机自启动实现方式是编写程序启动的.sh脚本,再将此脚本挂载到Linux系统上,让它开机执行,启动程序。

 

实现方式有两种:简易版和完全版

以Tomcat服务为例

 

步骤如下:

 编写脚本start.sh,位置为/app/start.sh

可自定义脚本位置和脚本名字,此处的app只是作者在根目录下自建的一个文件夹

 

脚本内容为:

#!/bin/bash

export JDK_HOME=/app/jdk1.7.0_71

export JAVA_HOME=/app/jdk1.7.0_71

/app/bim/apache-tomcat-7.0.63/bin/startup.sh

 

内容解析:

export JDK_HOME,export JAVA_HOME为安装的JDK地址,如果没有JDK,只有JRE,配置也可

/app/bim/apache-tomcat-7.0.63/bin/startup.sh 此为Tomcat运行时startup.sh所在的路径。

 

上述三个值均应按照你实际情况填写。同时配置export 是因为Tomcat运行时需要Java_home环境,如果你运行的程序需要的环境不同,根据你的实际情况填写export,如果不需要额外环境,也就不用写export

 

 

执行如下命令,将该脚本标记为可执行文件(添加可执行的权限)      

chmod +x /app/start.sh

 执行如下命令将/etc/rc.d/rc.local文标记为可执行文件

chmod +x /etc/rc.d/rc.local

 打开/etc/rc.d/rc.local文件,在最后加上如下脚本:

/app/start.sh

 

测试:重启服务器

执行命令:

 

ps -ef |grep tomcat 

 

打印Tomcat启动的详细信息表示启动成功。


如果只打印:

root      3118  3063  0 19:20 pts/0    00:00:00 grep tomcat 一行信息,代表没有启动成功。

 

如果是其他服务,也可以用ps -ef |grep 服务名 来查询是否启动成功。

 

Tomcat还能用浏览器输入localhost:8080来访问,确认是否启动成功(如果没有改动启动端口,默认是8080,如有改动,请按照实际情况填写。启动端口可以通过Tomcat 的conf文件夹下server.xml文件查到)

 

补充:

 简易版还有一种可行的办法:

 在 /etc/rc.d/rc.local 中添加脚本

export  JAVA_HOME=/app/jdk1.7.0_71 

/app/bim/apache-tomcat-7.0.63/bin/startup.sh

取值说明:

/app/jdk1.7.0_71  JDK安装位置

/app/bim/apache-tomcat-7.0.63/bin/startup.sh   Tomcat 启动startup.sh文件路径

 执行如下命令将/etc/rc.d/rc.local文标记为可执行文件

 chmod +x /etc/rc.d/rc.local

 

 编写shell脚本

 在/etc/init.d下新建一个文件tomcat,打开,添加如下内容:

 

#!/bin/sh 

# chkconfig: 345 99 10 

# description: Auto-starts tomcat 

# /etc/init.d/tomcatd 

# Tomcat auto-start 

# Source function library. 

#. /etc/init.d/functions 

# source networking configuration. 

#. /etc/sysconfig/network 

RETVAL=0 

export JAVA_HOME=/app/jdk1.7.0_71 

export JRE_HOME=/app/jdk1.7.0_71/jre 

export CATALINA_HOME=/app/bim/apache-tomcat-7.0.63 

export CATALINA_BASE=/app/bim/apache-tomcat-7.0.63 

start() 

        if [ -f $CATALINA_HOME/bin/startup.sh ]; 

          then 

            echo $"Starting Tomcat" 

                $CATALINA_HOME/bin/startup.sh 

            RETVAL=$? 

            echo " OK" 

            return $RETVAL 

        fi 

stop() 

        if [ -f $CATALINA_HOME/bin/shutdown.sh ]; 

          then 

            echo $"Stopping Tomcat" 

                $CATALINA_HOME/bin/shutdown.sh 

            RETVAL=$? 

            sleep 1 

            ps -fwwu root | grep tomcat|grep -v grep | grep -v PID | awk '{print $2}'|xargs kill -9 

            echo " OK" 

            # [ $RETVAL -eq 0 ] && rm -f /var/lock/... 

            return $RETVAL 

        fi 

 

case "$1" in 

 start)  

        start 

        ;; 

 stop)   

        stop 

        ;; 

                                                 

 restart) 

         echo $"Restaring Tomcat" 

         $0 stop 

         sleep 1 

         $0 start 

         ;; 

 *) 

        echo $"Usage: $0 {start|stop|restart}" 

        exit 1 

        ;; 

esac 

exit $RETVAL

 

 注意文档中红色的部分:

 

export JAVA_HOME=/app/jdk1.7.0_71   

JDK安装路径

 

export JRE_HOME=/app/jdk1.7.0_71/jre

JRE 所在路径 

 

 

export CATALINA_HOME=/app/bim/apache-tomcat-7.0.63 

Tomcat程序所在路径

 

export CATALINA_BASE=/app/bim/apache-tomcat-7.0.63

Tomcat程序所在路径

 

-f $CATALINA_HOME/bin/startup.sh

 此处CATALINA_HOME就是拿的上面我们赋的值,加上bin/startup.sh就是Tomcat启动脚本startup.sh所在的路径,包括后面的shutdown.sh,这个脚本就是这样实现了Tomcat的开启和关闭,而重启restart只不过是先调用shutdown.sh,再调用startup.sh。

 

 保存退出之后,给脚本文档增加可执行权限

 执行命令:

 chmod +x /etc/init.d/tomcat 

 

挂载,执行命令:

  ln -s  /etc/init.d/tomcat /etc/rc2.d/S16Tomcat  

 

设置开机自启动,执行命令

 chkconfig --add tomcat

此时我们使用chkconfig  --list |grep tomcat命令,可以发现Tomcat加入了chkconfig,也就能通过修改其运行等级来实现开机启动与否。而且Tomcat可以使用service tomcat start/stop/restart命令进行开启/关闭/重启。

重启电脑,验证Tomcat是否开机重启。

最新文章
逾期会如何影响信用记录和个人信用评分
是一种便捷的分期付款服务旨在帮助使用者解决短期资金需求。倘若使用者未能按期还款即发生逾期情况这不仅会增加额外的成本更会对个人信用记录产生负面作用。逾期记录一旦进入个人信用报告将成为未来信贷活动中的一大障碍。信用评分是金融机
线上SEO揭秘,揭秘神秘面纱,导航网站优化高效之路
线上SEO并非神秘,实则是一门科学。本文深入解析SEO原理,揭秘优化技巧,助您掌握网站优化之道,提升网站排名,实现网络营销目标。随着互联网的快速发展,(搜索引擎优化)已经成为企业、个人网站提高网站排名、提升品牌知名度的必备手段,
韩漫免费阅读全集漫画——一款提供海量韩漫资源的阅读 APP
在这个数字化的时代,漫画作为一种受欢迎的文化形式,已经走进了人们的生活。对于喜欢看漫画的人来说,能够免费阅读全集漫画无疑是一件令人兴奋的事情。今天,我要向大家介绍一款名为“韩漫免费阅读全集漫画”的阅读 APP,它为用户提供了海
一键生成喊麦歌词助手:满足各种在线喊麦创作需求
1. 喊麦台词生成器是一款利用人工智能技术为使用者提供定制化喊麦台词的智能工具。 2. 它可依据使用者输入的主题、风格、情感等因素,自动生成富有创意和感染力的喊麦台词。3. 以下是喊麦台词生成器的几个特点: - 个性化定制:依据客户需
百度关键词搜索排名时的原则是什么?
在站长圈经常谈论的话题中,如何提高百度排名肯定是TOP3的问题。百度排名的原理是什么,如何改进?今天,曲曲小姐邀请了社区主持人飞影来分享他的理解。关于这类事情。对于百度搜索,没有排名这种东西。搜索引擎认为排名是网站内容在特定关
百度十大美女风云榜,第一位“张筱雨”,拍的人体艺术照片!
我们非常重视保护用户的隐私权,请您在浏览本网站以及使用本网站的特定服务之前,仔细阅读本隐私权声明。使用本网站,即视为您同意本隐私权声明并同意本网站根据本隐私权声明收集、使用、披露您的个人信息。本隐私权声明主要包括如下内容:
怡万之消化内科.ppt
* Navarro等的研究显示在治疗腹腔感染住院患者时,厄他培南与头孢曲松加甲硝唑疗效相当(OASIS II)。1 幻灯显示的是厄他培南治疗组与头孢曲松/甲硝唑治疗组的主要治疗终点均为97%,主要研究终点即治疗结束2周后治愈试验中临床和微生物学评估
除了百度,这样搜索想要的知识质量更高
平常如果想要查一些知识或者一些不知道的东西的时候,一般人都会在百度/搜狗/谷歌等搜索引擎输入文字进行搜索。但在知识越来越重要的今天,在这些网页的搜索引擎里找到有用的信息越来越少,或者找到的文章质量也不高
天翼云SSL VPN使用教程
(1)在云主机控制台查看开通的云主机和相关的弹性IP(2)找到 SSL VPN 云主机实例,点击实例名称进去,点击本实例的安全组,在入方向规则新建规则放通tcp4430和tcp443 端口,授权对象 0.0.0.0/0(如果tcp443 端口修改成了其他端口,请放通
高清美女写真,AI生图工具如何让她们栩栩如生?
步骤1: 访问搜狐简单AI小程序首先在微信中搜索“搜狐简单AI”,进入小程序。 步骤2: 选择模板根据需求选择美女写真模板,提供多种风格可选。 步骤3: 输入指令按照页面提示,输入你想要的特征描述,比如“长发,穿着红色晚礼服”。 步骤4:
相关文章
推荐文章
发表评论
0评