本站用于记录日常工作内容,虚拟化云计算,系统运维,数据库DBA,网络与安全。
1.Keepalived单实例主备模式集群方案 这是最简单的模式,不只考虑高可用集群,先不考虑后方的Nginx负载均衡集群,即后端的服务器集群,参考下面的图示: 其对应的Keepalived核心配置如下: lb01 global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id lb01 # 用来标识一个Keepalived高可用集群中的一个节点服务器,因此是唯一的
}
vrrp_instance VI_1 {
state MASTER # 主
interface eth0
virtual_router_id 55 # 主备两台服务器的该值应该要相同
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.0.0.12/24 dev eth0 label eth0:1
}
} lb...
Linux crontab提权攻击 crontab定时任务是LINUX上最常用的一个功能,不过使用不当很容易受到提权。使用crontab时请注意以下两点:crontab任务千万不要写到/etc/crontab文件里,这是很危险的。通过crontab -e去创建,让他写到默认的/var/spool/cron下;能不用 root 去创建尽量不用,如果一定要用root,请保存到一个其他用户进不去、改不了、看不了的位置(最好能用chattr处理下)。为什么有这样的警告,请看下面的示例。一、位置不当引发的提权假设当前我们用 root 用户创建了如下一个任务:*/2 * * * * root sh /home/elk/test.sh具体内容如下:echo www.361way.com > /tmp/test/home/elk/test.sh文件的权限我们设置为600,属主和属组都设为root,感觉上应该还挺安全的吧,实际呢?看下图:root并且为600权限,看起来确实不错,我们切换到elk用户时,使用echo确实发现无法正常写入(chown和chmod也不会成功的)。但由于文件存放的位置在elk的家目录下,所以elk用户实际上是有修改文件的权限的。使用vim编辑文件时,实际是可以强制修改的,而且修改后文件的属主也会变掉,当然也可以使用上面截图里的方法,mv走以后,再新建一个,内容是什么就随便你自己写了。而上面...
keepalived健康检查方式一、健康检查方式keepalived对后端realserver的健康检查方式主要有以下几种TCP_CHECK:工作在第4层,keepalived向后端服务器发起一个tcp连接请求,如果后端服务器没有响应或超时,那么这个后端将从服务器池中移除。HTTP_GET:工作在第5层,向指定的URL执行http请求,将得到的结果用md5加密并与指定的md5值比较看是否匹配,不匹配则从服务器池中移除;此外还可以指定http返回码来判断检测是否成功。HTTP_GET可以指定多个URL用于检测,这个一台服务器有多个虚拟主机的情况下比较好用。SSL_GET:跟上面的HTTP_GET相似,不同的只是用SSL连接MISC_CHECK:用脚本来检测,脚本如果带有参数,需将脚本和参数放入双引号内。脚本的返回值需为: 0) 检测成功 1) 检测失败,将从服务器池中移除 2-255)检测成功;如果有设置misc_dynamic,权重自动调整为 退出码-2,如退出码为200,权重自动调整为198=20...
nodejs 源码spec打包rpm并使用RPM包安装node.js RPM spec, Blanch, Status, RPM, :----------, :----------:, :----------:, master (v9, Current), , , v8.x (v8, LTS), , , v6.x (v6, LTS), , , v4.x (v4, LTS), , , - node.js rpm spec : https://github.com/kazuhisya/nodejs-rpm ¶node.js source : https://nodejs.org/dist/Compiled Package ¶You can find prebuilt rpm binary from here(el7 and fc24 or higher)Stable Release: FedoraCopr khara/nodejs CoprLTS Release: FedoraCopr khara/nodejs-lts Coprel7:$ sudo curl -sL -o /etc/yum.repos.d/khara-nodejs.repo https://copr.fedoraproject.org/coprs/khara/nodejs/repo/epel-7/khara-nodejs-epel-7.repo
$ sudo yum install -y nodejs nodejs-npm
fc24 or higher:$ sudo dnf copr enable khara/nodejs
$ sudo dnf install -y nodejs nodejs-npm
Building the RPM ¶Distro support ¶Tested ¶RHEL/CentOS 7 x86_64Fedora 25 x86_64 or higherProbably it works ...
Centos7/RHEL7使用yum命令安装NodeJS/npm方法想要在CentOS7上安装NodeJS,在官网下载压缩包来安装,结果提示包错误,于是,决定直接使用yum命令来安装了。使用yum命令安装NodeJS,简单方便,只需要在终端依次执行下面的代码就可以了,不需要其他操作:[root@localhost]# curl -sL https://rpm.nodesource.com/setup_16.x | bash## Installing the NodeSource Node.js 16.x repo...
....
[root@localhost]# yum -y install nodejs gcc-c++ make wget rsync
安装完毕后使用 node -v 和 npm -v 来验证安装是否成功。[root@localhost]# node -vv16.6.2
[root@localhost]# npm -v
7.20.3
文章目录 docker部署Nginx+keepalive实现高可用 1.流程说明 1)直观流程图 2)部署效果 情况一:三台服务正确启动Nginx和keepalive 情况二:三台服务中,关闭192.169.56.123的服务Nginx和keepalive 3)Keepalived说明 2.开始部署环境 2.1 nginx 1)拉取镜像 2)配置文件 3)访问界面 4)然后把写好的配置,复制到其他两台机器上 5)启动容器脚本 6)测试访问界面 2.1 keepalived 1)拉取镜像 2)配置文件不需要 3)启动容器脚本,三台服务都一样就行 4)测试就按照部署效果来操作就可以了 结束 docker部署Nginx+keepalive实现高可用 服务器环境说明 服务器三台:192.168.56.121,192.168.56.122,192.168.56.123 vip虚拟IP:192.168.56.111对外提供 1.流程说明 1)直观流程图 2)部署效果 我这边演示只到nginx的界面,具体nginx要代理到哪里,看业务需求 访问http://192.168.56.111:9000/index.html 情况一:三台服务正确...
HAproxy健康检查的三种方式 1、通过监听端口进行健康检测 。这种检测方式,haproxy只会去检查后端server的端口,并不能保证服务的真正可用。 配置示例:listen http_proxy 0.0.0.0:80
mode http
cookie SERVERID
balance roundrobin
option httpchk
server web1 192.168.1.1:80 cookie server01 check
server web2 192.168.1.2:80 cookie server02 check inter 500 rise 1 fall 2 2、通过URI获取进行健康检测 。检测方式,是用过去GET后端server的的web页面,基本上可以代表后端服务的可用性。 配置示例:listen http_proxy 0.0.0.0:80
mode http
cookie SERVERID
balance roundrobin
option httpchk GET /index.html
server web1 192.168.1.1:80 cookie server01 check
server web2 192.168.1.2:80 cookie server02 check inter 500 rise 1 fall 2 3、通过request获取的头部信息进行匹配进行健康检测 。这种检测方式,则是基于高级,精细的一些监测需求。 通过对后端服务访问的头部信息进行匹配检测。 配置示例:liste...
HAproxy 负载均衡(对后端具备健康检测) 因为haproxy的包里有.spec文件,所以我们可以用rpm命令来自己构建ha的rpm包: 53 yum install rpm-build -y
57 rpmbuild -tb /usr/src/haproxy-1.7.3.tar.gz
58 yum install pcre-devel -y
59 rpmbuild -tb /usr/src/haproxy-1.7.3.tar.gz
60 yum install gcc -y
61 rpmbuild -tb /usr/src/haproxy-1.7.3.tar.gz
62 cd rpmbuild/RPMS/
[root@server1 x86_64]# lshaproxy-1.7.3-1.x86_64.rpm [root@server1 x86_64]# rpm -qpl haproxy-1.7.3-1.x86_64.rpm /etc/haproxy
/etc/rc.d/init.d/haproxy
/usr/sbin/haproxy
/usr/share/doc/haproxy-1.7.3/usr/share/doc/haproxy-1.7.3/CHANGELOG
/usr/share/doc/haproxy-1.7.3/README
/usr/share/doc/haproxy-1.7.3/architecture.txt
/usr/share/doc/haproxy-1.7.3/configuration.txt
/usr/share/doc/haproxy-1.7.3/intro.txt
/usr/share/doc/haproxy-1.7.3/management.txt
/usr/share/doc/haproxy-1.7.3/proxy-protocol.txt
/usr/share/man/man1/haproxy.1.gz [root@server1 x86_64]# rpm -ivh haprox...
CentOS 7 DR模式LVS搭建1,环境说明。调度器LB : 192.168.94.111 系统: Centos6真实web服务器1 : 192.168.94.22 系统:Centos6真实web服务器2 : 192.168.94.33 系统: Centos6VIP : 192.168.94.1112,脚本内容与说明。1,Centos6安装ipvsadm软件命令,如下 :yum install -y ipvsadm
2,脚本有两个,一个是 lvs主机需要配置的,具体如下: #!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/usr/sbin/ipvsadm
vip=192.168.94.111
rs1=192.168.94.22
rs2=192.168.94.33
#注意这里的网卡名字
ifconfig ens33:2 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev ens33:2
$ipv -C
$ipv -At $vip:80 -s wrr
$ipv -at $vip:80 -r $rs1:80 -g -w 1
$ipv -at $vip:80 -r $rs2:80 -g -w 1
注意:LVS不支持端口修改,所以后端rs主机端口必需一致。3,两台realserver主机需要使用脚本,具体如下。[root@web1 ~]# vim /usr/local/sbin/lvs_dr_rs.sh #/bin/bash ...
介绍一些常用的命令类操作的模块。 command模块command模块可以帮助我们在远程主机上执行命令注意:使用command模块在远程主机中执行命令时,不会经过远程主机的shell处理,在使用command模块时,如果需要执行的命令中含有重定向、管道符等操作时,这些符号也会失效,比如"<", ">", "|", ";" 和 "&" 这些符号,如果你需要这些功能,可以参考后面介绍的shell模块,还有一点需要注意,如果远程节点是windows操作系统,则需要使用win_command模块。 此处我们介绍一些command模块的常用参数,你可以先对这些参数有一个大概了解,然后再看小示例。free_form参数 :必须参数,指定需要远程执行的命令,需要说明一点,free_form参数与其他参数并不相同,在之前的模块示例中,如果想要使用一个参数,那么则需要为这个参数赋值,举个例子,之前的示例模块中,大多都有path参数,当我们需要指定要操作的文件时,通常需要对path参数赋值,比如,path=/testdir/test,表示我们想要操作/testdir/test文件,但是free_form参数则不同,"free_form"并不是一个"实际存在"的参数名,比如,当我们想...
总共46页,当前第6页 | 页数: - 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
最新评论