之前因为工作需要在aws搭建了支持HTTP3的 nginx + upsync + consul 的应用集群,想了解的可以看下之前的三篇博客:

QUIC实战(一) 通过Quiche部署支持HTTP3 的NGINX
QUIC实战(二) AWS 搭建nginx(http3.0) + upsync + consul(server-client模式) 集群
QUIC实战(三) letsencrypt证书申请和自动续期

相关的putty和winscp操作可以参考:
通过putty和 winscp操作aws机器笔记

为了节省aws费用,在不使用的时候我会把对应的实例停止,但是这样每次调试启动的时候就需要将每个实例上的应用重新启动,需要登录9台机器并且操作启动命令,这是非常麻烦的。

所以想着将对应的应用设置成开机自启动,这样我只需要重启实例后去consul的web界面确认下是否所有机器都正常运行就好了。

我需要启动的应用有nginx,consul server, consul client, tomcat,他们的启动命令都非常明显,关于consul server 和consul client我之前还单独写了个shell脚本,这样就可以直接运行脚本来启动对应的consul 应用了。所以我只需要设置在开机的同时执行对应应用的启动命令或者脚本就可以了

以consul client和tomcat为例,我将两个应用都部署在了一个实例上

写一个shell脚本:

#!/bin/sh
#chkconfig: 2345 80 90
#description:tomcat_consul_start.sh
sudo -i
/opt/apache-tomcat-8.5.58/bin/startup.sh
/opt/consul_client.sh

关于chkconfig命令的意思会在后面介绍一下,其余命令很简单,就是切换到root用户,然后分别启动tomcat和执行consul client的启动脚本,这个脚本是我自己写的,可以看下QUIC实战(二) AWS 搭建nginx(http3.0) + upsync + consul(server-client模式) 集群 这篇博客。

添加该脚本的执行权限,然后放到/etc/init.d/下,并加入到开机启动中就可以了

chmod +x tomcat_consul_start.sh
cp tomcat_consul_start.sh /etc/init.d/
chkconfig --add tomcat_consul_start.sh

可以看到已经成功加入到开机自启动项里了

这样在重启实例之后,tomcat和consul client就会自动启动,完事。

对于consul server和nginx都按照上述步骤执行,按理这样我重启整个集群后所有的应用都会启动,nginx + upsync + consul集群就处于可用状态了。

但是我在实际操作中,三个consul server的实例最后只有一个成功自启动了,其余两个都没有自启动成功,暂时还没找到对应的原因,我就先手动启动了一下。等找到原因后会补充下的

关于chkconfig命令

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

所以chkconfig:2345就代表在2345的等级下启动这个服务
后面的80 90分别是启动优先级和关闭优先级

程序的优先级,就是程序被CPU执行的先后顺序,该值越小则说明优先级别越高。这里的启动优先级和关闭优先级就是启动这个脚本的进程的优先级,和关闭这个脚本的进程的优先级。

QUIC实战(四) 设置应用开机自启动相关推荐

  1. Redis 安装+四种启动设置(开机自启动)

    下载绿色版redis直接跳过安装步骤,解压运行就可以,链接: https://pan.baidu.com/s/1jYEae-3NFLpgEcevkcOTpA?pwd=reib 提取码: reib 安装 ...

  2. centos7.x设置nginx开机自启动

    设置nginx开机自启动(centos7.x) 第一步:进入到/lib/systemd/system/目录 [root@iz2z init.d]# cd /lib/systemd/system/ 第二 ...

  3. Windows设置软件开机自启动与关闭

    Windows设置软件开机自启动 有时候我们需要手动为某些软件设置开机自启动权限,或者手动取消软件开机自启动权限. 取消开机自启动权限: 1. Win+R,在打开的运行程序中输入 msconfig,回 ...

  4. 使用systemctl设置tomcat开机自启动

    前言 redhat 7.0 Linux使用systemctl设置程序开机自启动 tomcat设置开启自启动 步骤 编写服务定义文件: > vi tomcat8080.service ------ ...

  5. Linux使用systemctl设置程序开机自启动

    1 说明 设置开机自启动,需要用到systemctl工具. systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器. systemd是一个系统管理守护进程.工具和库的集 ...

  6. RedHat7.0 设置weblogic开机自启动

    1 说明 设置开机自启动,需要用到systemctl工具. systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器. systemd是一个系统管理守护进程.工具和库的集 ...

  7. Linux设置Oracle开机自启动

    Linux设置Oracle开机自启动 目录 1.编辑oratab    1 2.编辑rc.local    2 3.listener.log的权限    3 4.编辑dbstart    3 5.测试 ...

  8. mac 设置mysql开机自启动

    mac 设置mysql开机自启动 1.编辑一个mysql启动文件. 在终端里面输入: sudo vi /Library/LaunchDaemons/com.mysql.mysql.plist 2.输入 ...

  9. 大疆Onboard SDK开发中连接飞控后串口设置与开机自启动

    大疆Onboard SDK开发中连接飞控后串口设置与开机自启动 Manifold/TX2/Linux 下相关设置 1.设置程序上电自动执行 设置程序上电自动执行,即为设置开机自动运行可执行文件,Man ...

最新文章

  1. 51nod 1013【快速幂+逆元】
  2. php 获取企业号用户,微信企业号 获取用户信息(示例代码)
  3. css样式命名规则(仅供参考)
  4. php性能优化分析工具XDebug 大型网站调试工具
  5. ACE在AIX环境下编译指南
  6. VC问题 IntelliSense:“没有可用的附加信息”,[请參见“C++项目 IntelliSense 疑难解答”,获得进一步的帮助]...
  7. Unity3D笔记十七 Unity3D生命周期
  8. [linux]服务器apache配置vhost
  9. 磁盘大小限制_Linux服务器磁盘爆满查询之百度云服务器
  10. requestAnimationFrame用法
  11. mybatis框架搭建学习初步
  12. oracle asm掉盘,ASM Disk丢失的临时解决方法
  13. 化工企业ERP建设中设备管理的重要性
  14. 蓝牙4.0和5.0的区别
  15. 红楼梦航空航线数据分析
  16. Introduction to Track-To-Track Fusion
  17. 深入理解ArrayList中 toArray(),toArray(T[])方法
  18. 精美PPT模板分享,可用来丰富自己的PPT
  19. Hadoop之——机架感知配置
  20. 地图投影之UTM和高斯克里格投影

热门文章

  1. LinkedBlockingDeque源码
  2. ui uview 安卓开发_uni-app UI框架之uview-ui使用教程
  3. drop 很慢 物化视图_终于解决了物化视图复制的问题
  4. open-falcon的邮件报警
  5. android 减少图片出现oom错误
  6. MyBatis第四天
  7. Java序列化简单例子
  8. Linux vi格式化文件命令
  9. 关于C#的Main(String[] args)参数输入问题
  10. HDU - 2594 Simpsons’ Hidden Talents(KMP的next数组)