在/usr目录下面执行:

find -name keepalived

返回如下:

./sbin/keepalived
./local/sbin/keepalived
./local/etc/keepalived
./local/etc/rc.d/init.d/keepalived
./local/etc/sysconfig/keepalived

这些都是作为服务需要处理的:

作如下拷贝:

cp /usr/local/sbin/keepalived /usr/sbin  拷贝可执行文件,没有这一步将会在执行service keepalived start的时候报错:keepalived: command not found
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/ 需要在/etc目录下创建keepalived目录
cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/ 创建入口脚本文件,可以接收start| stop | status | restart
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ 拷贝系统配置文件(上面提到的日志就是在这里配置的

其实这里有一个很直观的处理:就是把用户路径(/usr/local/)之后的路径单独拎出来拷贝到对应的系统路径(/usr/bin, /etc/)即可。

经过了如上的处理就可以通过以下方式来操作keepalived

service keepalived start | stop | restart | status

下面就是服务的开机启动,说道服务器的开机启动就要谈及运行级别以及系统服务,在linux中开机是被划分为七个级别,其实每个级别都是基于上个级别增加加载内容:

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

比如级别3就是只是命令行模式,到了级别5已经开始加载图形化界面的内容;有的运维会建议将级别调整到3,然后通过在命令敲入startx进入到图形化界面(linux系统的7种运行级别);正常情况下有桌面的Linux已经是5级别了。

所谓系统服务就是在系统启动的时候需要进行启动的服务,区别于需要手动启动的服务(应用)。

所以对于安全性要求不是特别高的情况下,对于启动脚本设定在5这个级别其实就可以了,如果为了保险起见,可以设置为1~5,保证能够启动的到(0和6级别不要设置);

开机启动的原理是:

1. 每个应用(服务)的启动脚本(可以相应start/stop等操作的脚本)都是放置到/etc/init.d下面的;
2. 每个启动级别,操作都会调用各自的级别启动脚本,放置在/etc/rc.d下面(ll之后将会看到,其中rc.local将会是最后一个被执行的);
3. 进到rcx.d文件夹中将会看到一些脚本符号(软链接到/etc/init.d下面的具体某个启动脚本);
可以想象到,每个级别都会逐个执行rcX.d下面的脚本,可以推断,如果你指定了多个级别,那么应用(服务)启动脚本将会被执行多次,所以应用的启动脚本一定需要具有等幂性;

执行指令

chkconfig --add keepalived
chkconfig --level 345 keepalived on

第一句是添加系统服务,第二句是设定系统服务在那些级别进行启动;

还可以通过以下指令来查看系统服务情况:

chkconfig --list 查看全部服务以及启动级别;
chkconfig --level 2 keepalived off 关闭掉服务某(些)个启动级别 chkconfig --del keepalived 删除系统服务(另外一个场景就是iptables,可以直接删除,避免开机的时候启动)

使用过程发生的问题

error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

默认libssl.so.1.1(openssl组件)会安装在/usr/local/lib64下面;需要通过软连接放置到/usr/lib64下面:

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

ln是软链接,软链接代表寓意和windows的快捷方式很类似,软链接并不和数据块相连,只是一个符号,和真实的数据库的一个名称相连;与之相对应的是硬链接,直接和数据块(node)相连,相当于一个数据块的别名。

Linx下Keepalived做成服务的更多相关文章

  1. linux下脚本做成服务

    一.脚本做成服务 1.把启动脚本复制到 /etc/init.d目录中 2.脚本内容 xxxx代表jar包名称 #!/usr/bin/env bash # chkconfig: 2345 20 80 # ...

  2. CentOS 6.5 下keepalived服务的配置

    CentOS 6.5 下keepalived服务的配置 参考网站: http://zhangxugg-163-com.iteye.com/blog/1665419 http://www.2cto.co ...

  3. windows下 将tomcat做成服务,并于oracle后启动

    一.将tomcat做成服务 1.下载解压版的tomcat 6.*, 设置java.tomcat的环境(这个就不说了). 2.运行->cmd->到tomcat安装目录的bin目录: 3.运行 ...

  4. mac下打开FTP服务

    MAC下打开FTP服务 周银辉 mac下一般用smb服务来进行远程文件访问,但要用FTP的话,高版本的mac os默认关掉了,可以用如下命令打开: sudo -s launchctl load -w ...

  5. linux下的crontab服务

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

  6. 基于SpringMVC下的Rest服务框架搭建【1、集成Swagger】

    基于SpringMVC下的Rest服务框架搭建[1.集成Swagger] 1.需求背景 SpringMVC本身就可以开发出基于rest风格的服务,通过简单的配置,即可快速开发出一个可供客户端调用的re ...

  7. Sco Openserver下 配置SSH服务(图解)

    Sco Openserver下 配置SSH服务 好久没玩儿Sco Unix系统了,春节过后为邮政系统的一个朋友调试系统( 装了个远程服务) ,这两天将安装过程回忆了一下,总结出来给大家分享. 本试验需 ...

  8. [转]Ubuntu下配置NFS服务

    [转]Ubuntu下配置NFS服务  http://blog.163.com/liu8821031%40126/blog/static/111782570200921021253516/ Table ...

  9. Ubuntu下开启ssh服务

    网上有很多介绍在Ubuntu下开启SSH服务的文章,但大多数介绍的方法测试后都不太理想,均不能实现远程登录到Ubuntu上,最后分析原因是都没有真正开启ssh-server服务.最终成功的方法如下: ...

随机推荐

  1. linux 桥接模式下 固定ip 设置

    DEVICE=eht0   #网卡名称BOOTPROTO=none #关闭自动获取  dhcp  IPADDR=192.168.0.178   #ip地址GATEWAY=192.168.0.1  DN ...

  2. Linux20期学习笔记 Day1

    Linux就该这么学第一章 1.4重置root管理员密码  放到红帽RHCSA考前辅导视频 源代码安装: 弊端:(好处第二章讲解) 1.难度高,安装困难 2.自己解决依赖关系(暂时不说) 新技术:RP ...

  3. gcc编译动态链接库

    以下是windows环境下用gcc编译动态链接库的尝试过程. 环境准备 编译使用的MinGW,64位的官网可以找到下载地址. 项目建立及代码编写 在任意地方新建一个目录,保存这个项目,然后新建一个c源 ...

  4. u-boot中bss段的使用

    近日在调试uboot时,发现了一个现象,即在relocate_code前如果给未初始化或者初始化值为0的变量赋值的话,则在relocate_code后程序无法正常执行.经过学习,恶补如下知识 BSS段 ...

  5. json格式字符串转字典

    //json格式字符串转字典+ (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString {        if (jsonStr ...

  6. netty学习第5章 netty整合websocket

    学习netty之后,可能都有一个疑问,就是如何选择一个编码.解码器,在netty中的编解码可是和json这种编解码是不一样的,netty的编解码器主要是解决TCP粘包.拆包的问题.netty中有许多自 ...

  7. Java并发编程实战 第2章 线程安全性

    编写线程安全的 代码,核心在与对共享的和可变的对象的状态的访问. 如果多个线程访问一个可变的对象时没有使用同步,那么就会出现错误.在这种情况下,有3中方式可以修复这个问题: 不在线程之间共享该状态变量 ...

  8. 在python里使用WriteProcessMemory修改内存地址上的值

    import os import sys from ctypes import * windll.kernel32.WriteProcessMemory.argtypes = [c_void_p, c ...

  9. Python之网路编程之-互斥锁与进程间的通信(IPC)及生产者消费者模型

    一.互斥锁 进程之间数据隔离,但是共享一套文件系统,因而可以通过文件来实现进程直接的通信,但问题是必须自己加锁处理. 注意:加锁的目的是为了保证多个进程修改同一块数据时,同一时间只能有一个修改,即串行 ...

  10. day2计算机基础作业题

    1.什么是编程? 编程就是程序员用某种编程语言的语法格式将将自己脑中想让计算机做的事情写成文件.所以编程的结果就是一堆的文件,一堆文件就是的程序. 2.计算机的组成: 1).CPU 其中CPU又分为控 ...