方式一、二、三适用于ubuntu,centos推荐使用方式二、方式三

方式一

在ubuntu系统中,如果你使用的apt方式安装的软件,可以使用如下方式直接添加服务的开机自启,

如果你是手动解压缩官网下载的安装包安装的建议使用方式二、方式三。

直接使用apt进行的软件安装,一般情况下系统会默认生成开机自启的脚本文件,你只需要执行固定的命令,即可进行服务的开机自启。

mysql的开机自启

sudo update-rc.d mysql default

nginx的开机自启

sudo update-rc.d nginx default

其他软件的服务自启同理。

如需移除软件的服务自启

sudo update-rc.d -f '移除的软件' remove

方式二

简称为service方式

下面以自启mongo服务为例

1.创建脚本

sudo touch /etc/systemd/system/mongodb.service
修改文件权限:
sudo chmod 777 /etc/systemd/system/mongodb.service

2.在文件中添加下面内容

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target [Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf [Install]
WantedBy=multi-user.target

注意修改你的mongo安装目录及配置文件路径

保存退出

3.使用命令,开机自启

sudo systemctl enable mongodb
sudo systemctl start mongodb # 启动mongo
sudo systemctl status mongodb # 查看mongo状态

方式三

简称init.d方式

cd /etc/init.d
touch mongodb
chmod 777 /etc/init.d/mongodb
update-rc.d mongodb defaults

脚本内容:

#!/bin/sh

### BEGIN INIT INFO
# Provides: mongodb
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: mongodb
# Description: mongo db server
### END INIT INFO EXE_FILE=/home/mongo/mongodb-linux-aarch64-ubuntu1804-4.2.20/bin
CONFIG_FILE=/data/MongoDB/mongodb.conf . /lib/lsb/init-functions
MONGOPID=`ps -ef| grep mongod| grep -v grep| awk '{print $2}'`
test -x $EXE_FILE || exit 0 case "$1" in
start)
ulimit -n 3000
log_begin_msg "Starting MongoDB server"
$EXE_FILE --config $CONFIG_FILE
log_end_msg 0
;;
stop)
log_begin_msg "Stopping MongoDB server"
if [ ! -z "$MONGOPID" ]; then
kill -15 $MONGOPID
fi
log_end_msg 0
;;
status)
ps -aux| grep mongod
;;
*)
log_success_msg "Usage: /etc/init.d/mongodb {start|stop|status}"
exit 1
esac exit 0

注意修改

EXE_FILE=/home/mongo/mongodb-linux-aarch64-ubuntu1804-4.2.20/bin
CONFIG_FILE=/data/MongoDB/mongodb.conf

换成你自己的目录位置

项目jar包的服务自启

这种方式,可以控制你服务的启动顺序

1.在/etc/init.d目录下先创建脚本文件,如super.sh

2.在脚本文件中添加以下内容

#!/bin/sh
### BEGIN INIT INFO
# Provides: autoJar.sh
# Required-start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the svnd.sh daemon
# Description: starts svnd.sh using start-stop-daemon
### END INIT INFO
# 防止jdk加载慢
export JAVA_HOME=/usr/local/java/jdk1.8.0_131
export PATH=${JAVA_HOME}/bin:$PATH
cd /usr/local/install/
nohup java -jar super-1.0-SNAPSHOT.jar > nohup.out 2>&1 &

3.增加文件权限

sudo chmod 777 /etc/init.d/super.sh

4.将脚本使用命令添加到启动脚本中去

cd /etc/init.d
sudo update-rc.d -f super.sh defaults 50

5.移除启动脚本

cd /etc/init.d
sudo update-rc.d -f wgkq.sh remove

linux下三种服务开机自启的方式的更多相关文章

  1. Linux 下三种提高工作效率的文件处理技巧

    Linux 下三种提高工作效率的文件处理技巧 在 Linux 下工作,打交道最多的就是文件了,毕竟 Linux 下工作一切皆文件嘛.Linux 也为大家提供了多种用于处理文件的命令,合理使用这些命令可 ...

  2. Linux 下三种方式设置环境变量

    1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错误. 2.那么什么是环境变 ...

  3. 【环境变量】Linux 下三种方式设置环境变量

    1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错误. 2.那么什么是环境变 ...

  4. 【环境变量】Linux 下三种方式设置环境变量与获取环境变量

    1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错误. 2.那么什么是环境变 ...

  5. linux Nginx服务开机自启

    linux Nginx服务开机自启 Nginx 是一个很强大的高性能Web和反向代理服务器.虽然使用命令行可以对nginx进行各种操作,比如启动等,但是还是根据不太方便.下面介绍在linux下安装后, ...

  6. Linux下几种文件传输命令

    Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具 ...

  7. Linux下启动Oracle服务和监听程序步骤

    Linux下启动Oracle服务和监听程序启动和关闭步骤整理如下: 1.安装oracle: 2.创建oracle系统用户: 3./home/oracle下面的.bash_profile添加几个环境变量 ...

  8. 如何在linux下搭建svn服务

    • 安装svn 使用命令 yum install subversion 如果提示上述错误,请以管理员身份运行 使用命令su root 再执行 yum install subversion 2,查看sv ...

  9. linux下的crontab服务

    linux下的crontab服务:1.crontab 是用来让使用者在固定时间或固定间隔执行程序之用在linux平台上如果需要实现任务调度功能可以编写cron脚本来实现.以某一频率执行任务linux缺 ...

随机推荐

  1. (stm32f103学习总结)—stm32定时器中断

    一.定时器介绍 STM32F1的定时器非常多,由2个基本定时器(TIM6.TIM7).4个通 用定时器(TIM2-TIM5)和2个高级定时器(TIM1.TIM8)组成.基本定 时器的功能最为简单,类似 ...

  2. Vue.js 开发实践:实现精巧的无限加载与分页功能

    本篇文章是一篇Vue.js的教程,目标在于用一种常见的业务场景--分页/无限加载,帮助读者更好的理解Vue.js中的一些设计思想.与许多Todo List类的入门教程相比,更全面的展示使用Vue.js ...

  3. 来扯点ionic3[7] LocalStorage的使用—以登录和注销为例

    一般意义上,一个互联网 APP 中的数据主自与服务器的交互,但是对于有些数据,我们希望获取到它们以后能保存,并在全局环境使用,比如用户数据--我们不希望在每个页面都从服务器拉取一遍.这时我们就可以利用 ...

  4. idea 提示错误: 找不到或无法加载主类

    首先检查自己的jdk 配置是否正确,检查好遍发现没有问题,但是项目就是运行不起来...... 重启idea,问题解决.

  5. 大数据学习之路之ambari配置(四)

    试了很多遍,内存还是不够,电脑不太行的,不建议用ambari!!! 放弃了

  6. es6语法之模版字符串

    //es6语法之`${}`以及vue语法 `${ }` (模版字符串)const name = '小缘' const age = 14 console.info(`大家好,我叫${name},今年${ ...

  7. lunix或者centos服务器下如何下载自己在github上面的项目代码

    1.在github找到项目压缩包下载地址 打开自己的github主页找到需要下载的项目首页,如图所示,找到zip下载地址(ps:如何找这个地址我就不多说了,了解过一点html的同学肯定很容易可以找到) ...

  8. three车辆自由转弯(vue 极品飞车)

    //最近没有时间整理代码,就这样吧 <template> <div> <div id="map"></div> </div&g ...

  9. Struts2封装获取表单数据方式

    一.属性封装 1.创建User实体类` package cn.entity; public class User { private String username; private String p ...

  10. css 实现图片专场

    <template> <div> </div> </template> <style lang="scss"> html ...