keepalive2.2.8 + apache 2.4.57编译安装部署
  vhfw6KTLcach 2023年11月19日 20 0

1、安装依赖


[root@localhost ~]# yum install gcc libnl libnl-devel openssl openssl-devel -y


2、编译安装


# https://www.keepalived.org/download.html

[root@localhost ~]# wget https://www.keepalived.org/software/keepalived-2.2.8.tar.gz

[root@localhost ~]# tar -zxvf keepalived-2.2.8.tar.gz

[root@localhost ~]# cd keepalived-2.2.8

[root@localhost keepalived-2.2.8]# ./configure --prefix=/usr/local/keepalived --sysconf=/etc

[root@localhost keepalived-2.2.8]# make && make install

[root@localhost keepalived-2.2.8]# whereis keepalived

[root@localhost keepalived-2.2.8]# cp ./keepalived/etc/init.d/keepalived /etc/init.d/

[root@localhost keepalived-2.2.8]# cp ./keepalived/etc/sysconfig/keepalived /etc/sysconfig/

[root@localhost ~]# cp /etc/keepalived/keepalived.conf.sample /etc/keepalived/keepalived.conf


3、编辑检测脚本(以apache/nginx为例,如果是其它的修改关键字即可)


[root@localhost ~]# vi /etc/keepalived/check_web_alive_or_not.sh

#!/bin/bash

 

A=`ps -C httpd --no-header |wc -l`

# 判断httpd/nginx是否宕机,如果宕机了,尝试重启

if [ $A -eq 0 ];then

#/usr/local/nginx/sbin/nginx

systemctl start httpd

# 等待一小会再次检查httpd,如果没有启动成功,则停止keepalived,使其启动备用机

sleep 3

if [ `ps -C httpd --no-header |wc -l` -eq 0 ];then

kill -9 keepalived

fi

fi

 

[root@localhost ~]# chmod +x /etc/keepalived/check_web_alive_or_not.sh

# 检测查看输入

[root@localhost ~]# /etc/keepalived/check_web_alive_or_not.sh


4、编辑参数文件


[root@localhost ~]# vi /etc/keepalived/keepalived.conf

global_defs {

# 路由id:当前安装keepalived节点主机的标识符,全局唯一

router_id keepalive_10.100.11.217

}

vrrp_script check_nginx_alive{

script "/etc/keepalived/check_web_alive_or_not.sh"

interval 2 # 每隔两秒运行上一行脚本

weight 10 # 如果脚本运行失败,则升级权重 +10

}

vrrp_instance VI_1 {

# 表示状态,当前10.100.11.217主节点,MASTER/BACKUP

state MASTER

# 当前实例绑定的网卡

interface ens160

# 保证主备节点一致

virtual_router_id 51

# 权重,优先级越高,在MASTER挂掉以后,谁就能成为MASTER

priority 100

# 主备之间同步检查的时间间隔,默认1s

advert_int 1

# 认证授权的密码,防止非法节点的进入

authentication {

auth_type PASS

auth_pass 1111

}

# VIP 虚拟ip

virtual_ipaddress {

# 注意:主备两台的vip都是一样的,绑定到同一个vip

10.100.11.220

}

}


5、启动keepalived服务


[root@localhost ~]# systemctl daemon-reload

[root@localhost ~]# systemctl start keepalived.service

[root@localhost ~]# systemctl enable keepalived.service


6、补充httpd

6.1 安装


# http://httpd.apache.org/

# https://downloads.apache.org/

[root@localhost ~]# wget https://downloads.apache.org/apr/apr-1.7.4.tar.gz

[root@localhost ~]# wget https://downloads.apache.org/apr/apr-util-1.6.3.tar.gz

[root@localhost ~]# wget https://downloads.apache.org/httpd/httpd-2.4.57.tar.gz

 

# yum -y groupinstall "development tools"

[root@localhost ~]# yum install openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ make -y


安装顺序


apr-1.7.4>apr-util-1.6.3>httpd-2.4.57

 

[root@localhost ~]# tar xf apr-1.7.4.tar.gz 

[root@localhost ~]# cd apr-1.7.4/

[root@localhost apr-1.7.4]# ./configure --prefix=/usr/local/apr

[root@localhost apr-1.7.4]# make && make install

 

[root@localhost apr-1.7.4]# cd ..

[root@localhost apr-util-1.6.3]# tar xf apr-util-1.6.3.tar.gz

[root@localhost apr-util-1.6.3]# cd apr-util-1.6.3/

[root@localhost apr-util-1.6.3]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

[root@localhost apr-util-1.6.3]# make && make install

 

[root@localhost apr-util-1.6.3]# cd ..

[root@localhost ~]# tar xf httpd-2.4.57.tar.gz

[root@localhost httpd-2.4.57]# cd httpd-2.4.57/

./configure --prefix=/usr/local/apache \

--enable-so \

--enable-ssl \

--enable-cgi \

--enable-rewrite \

--with-zlib \

--with-pcre \

--with-apr=/usr/local/apr \

--with-apr-util=/usr/local/apr-util/ \

--enable-modules=most \

--enable-mpms-shared=all \

--with-mpm=prefork

[root@localhost httpd-2.4.57]# make && make install


6.2 设置环境变量


[root@localhost ~]# echo 'export PATH=/usr/local/apache/bin:$PATH' > /etc/profile.d/apache.sh

[root@localhost ~]# source /etc/profile.d/apache.sh

[root@localhost ~]# which httpd


6.3 配置映射


[root@localhost ~]# ln -s /usr/local/apache/include/ /usr/include/apache


6.4 设置成服务


[root@localhost ~]# cd /usr/lib/systemd/system

[root@localhost system]# cp sshd.service httpd.service

[root@localhost system]# vi httpd.service 

[Unit]

Description=httpd server daemon

After=network.target sshd-keygen.target

 

[Service]

Type=forking

ExecStart=/usr/local/apache/bin/apachectl start

ExecStop=/usr/local/apache/bin/apachectl stop

ExecReload=/bin/kill -HUP $MAINPID

 

[Install]

WantedBy=multi-user.target

 

[root@localhost system]# systemctl daemon-reload


6.5 没有启动apache前先查看一下有没有80端口


ss -antl|grep 80


6.6 启动apache服务


#/usr/local/httpd/bin/apachectl start

[root@localhost system]# systemctl start httpd

[root@localhost system]# systemctl enable httpd


至此keepalived和apache编译安装完成


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
  jnZtF7Co41Wg   2023年11月22日   15   0   0 linuxApacheci
  jnZtF7Co41Wg   2023年11月19日   15   0   0 ubuntuApachecentos
  9JCEeX0Eg8g4   2023年12月10日   15   0   0 应用程序javaApache
  KRsXEGSB49bk   2023年11月27日   13   0   0 javaApache
  jnZtF7Co41Wg   2023年11月24日   20   0   0 mysqlApachecentos
  AeUHztwqqxTz   2023年11月13日   23   0   0 .net编译安装
  ETWZF7L1nsXD   2023年11月13日   19   0   0 mavenDockerApache
  xwGmYGXf1w4S   2023年11月22日   23   0   0 tomcatjavaApache
  pDfpeWmG3ZJk   2023年11月13日   20   0   0 编译安装