linux操作系统中业务程序及服务的开机启动

1 背景

客户要求服务器进行阶段性重启操作,一下子忙坏了系统厂家,服务程序的手动启动和自启动的作用一下子发挥了不同的作用。

2 目标

将服务器上的中间件、数据库、业务程序设置为开机自启动,服务器重启后业务程序自启动。

3 启动类型

以下为三种设置自启动的方式,根据各自项目的业务需求进行对应的设置。

  • 服务启动-systemctl
  • 服务启动-chkconfig
  • 脚本启动-rc.local

3.1 服务启动systemctl

设置成服务启动后可以直接使用系统命令对服务进行启停重启操作
编辑服务文件 ,以nginx为例进行展开介绍,如有nginx安装需求请移步《linux 系统下四种nginx安装方法》

系统服务目录:/usr/lib/systemd/system/
用户服务目录:/usr/lib/systemd/user/
根据业务需求选择设置服务的目录

vi /lib/systemd/system/nginx.service

输入配置信息,其他服务参考一下内容调整为自身软件的目录和程序即可

[Unit]
Description=nginx 
After=network.target 
   
[Service] 
Type=forking 
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true 
   
[Install] 
WantedBy=multi-user.target

创建服务

systemctl enable nginx.service

系统操作命令

# 启动
systemctl start nginx
# 查询状态
systemctl stuas nginx
# 重启
systemctl restart nginx
# 停止
systemctl stop nginx

3.2 服务启动chkconfig

Linux chkconfig 命令用于检查,设置系统的各种服务。

这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。 面向的操作系统为 RedHat 和 CentOS操作系统

chkconfig [--add][--del][--list][系统服务]chkconfig [--level <等级代号>][系统服务][on/off/reset]

参数:

  • –add  增加所指定的系统服务,让 chkconfig 指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。

  • –del  删除所指定的系统服务,不再由 chkconfig 指令管理,并同时在系统启动的叙述文件内删除相关数据。

  • –level<等级代号>  指定读系统服务要在哪一个执行等级中开启或关闭。

    等级代号列表:
    等级0表示:表示关机
    等级1表示:单用户模式
    等级2表示:无网络连接的多用户命令行模式
    等级3表示:有网络连接的多用户命令行模式
    等级4表示:不可用
    等级5表示:带图形界面的多用户模式
    等级6表示:重新启动

3.2.1 查看服务

chkconfig --list 

3.2.2 系统自带服务的设置

开启服务

chkconfig telnet on   //开启 Telnet 服务

关闭服务

chkconfig telnet off   // 关闭 Telnet服务

3.2.3 添加服务设置

业务程序:jgxt_app
程序目录:/home/jgxt
启动脚本:start_jgxt.sh
将启动命令编辑放入到start_jgxt.sh文件中

chmod +x start_jgxt.sh
cp start_jgxt.sh /etc/init.d/start_jgxt
chkconfig --add start_jgxt
chkconfig start_jgxt on
chkconfig --level start_jgxt 2345 on
chkconfig --list start_jgxt

3.3 开机启动脚本

以加载挂载盘为例
在linux服务上查了一块256G的SD存储卡,
在这里插入图片描述

每次使用改SD卡的使用需要手动挂载一下,很不方便。
在这里插入图片描述
使用命令启动

在这里插入图片描述
需要输入账号的密码进行挂载处理
创建启动文件

vim /home/fwmh/script/mount_d.sh

#!/bin/bash
echo xxxxx | sudo mount -t drvfs D://mnt/d

注:xxxxx为普通账号的密码

脚本启动

# 赋予rc.local文件可执行权限
sudo chmod +x /etc/rc.d/rc.local
# 执行脚本可执行权限
chmod +x /home/fwmh/script/mount_d.sh

将启动脚本追加入rc.local文件

# 追加到文末
/home/fwmh/script/mount_d.sh

系统测试

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值