RHEL7配置APACHE服务的HA

本文主要目的是可以帮助你按部就班的配置出一套RHEL7的双机服务出来,这里面暂时不会讲到双机概念和为什么这么做,参数为什么这么写,为什么敲这个命令,再详细的文章,等以后,我一定会出

系统版本:RHEL7

ha1::192.168.1.80

ha2 :192.168.1.81

vip: 192.168.1.82

1:先安装两个RHEL7操作系统,安装步骤略,网上镜像和文章一大把,我就不赘述,唯一要注意的是,安装包那里我们选择最基本的basic安装就行了,不需要图形化.

2:配置IP,注意的是,RHEL7最小化安装默认是没有ifconfig命令的,因为从RHEL7开始,已经是全新的网络管理,推荐使用ip命令进行操作,所以,我们最好也随俗,如果你非要用ifconfig命令,安装net-toos这个软件包,那么配置ip的方法我就不赘述了,直接修改配置文件即可

[[email protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
HWADDR=00:1A:4A:CF:B4:5C
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
NAME=eth0
UUID=7e983225-8a8e-4c5f-bb5b-ffa160b3bf93
ONBOOT=yes
IPADDR=192.168.1.80
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

3:修改主机名,并且写入hosts里面

[[email protected] ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.80    ha1
192.168.1.81    ha2
192.168.1.82    app
[[email protected] ~]# cat /etc/hostname
ha1

4:关闭selinux和关闭防火墙

我们需要将selinux配置文件里面修改成disable,比如

[[email protected] ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
然后关闭防火墙

systemctl stop firewalld
    systemctl disable firewalld
重启你的服务器,两台都需要做

5:安装双机软件,我们这里通过yum去做,把你的光盘放进系统,并且挂载到/iso目录下面,然后编写yum配置文件

[[email protected] ~]# cat /etc/yum.repos.d/wuhao.repo
[rhel7]
name=rhel7
baseurl=file:///iso
enable=1

[1]
name=cluster
baseurl=file:///iso/addons/HighAvailability
enable=1

[2]
name=cluster1
baseurl=file:///iso/addons/ResilientStorage
enable=1

然后我们开始安装

yum install  lvm2-cluster corosync pacemaker pcs fenceagents-all -y --nogpgcheck

两边都要操作

6:开始配置集群软件

首先注意的是,我们安装操作系统时候没有选择图形化界面,也就是说我们所有的配置将是用命令行去完成,图形化的配置方法我自己研究了下,发现,不是点这个按钮没反映,就是点完以后报莫名其妙的错误,完全没有命令行来的快,这也许可能是我比较菜也可能是7.0,的确不是一个稳定的版本吧.那么我们下面开始配置属于我们自己的HA服务

先两台都启动pcs服务

systemctl start pcsd

然后给hacluster用户设置统一的密码,这用户说白了就是统一管理集群用的,同时负责认证集群中的节点.

passwd hacluster

xx

xx

我们验证两台节点

[[email protected] ~]# pcs cluster auth ha1 ha2
ha1: Already authorized
ha2: Already authorized

因为我已经验证过了,所以这里说已经验证.第一次验证要你输的用户和密码记得是上面的hacluster,不是root哦!

pcs cluster setup --name wuhaocluster ha1 ha2  (wuhaocluster填你想取的名字)

然后我们启动集群

[[email protected] ~]#  pcs cluster start  --all

查看我们的集群状态

[[email protected] ~]# pcs status
Cluster name: wuhaocluster
Last updated: Mon Jan  5 14:59:34 2015
Last change: Mon Jan  5 14:25:46 2015 via cibadmin on ha1
Stack: corosync
Current DC: ha2 (2) - partition with quorum
Version: 1.1.10-29.el7-368c726
2 Nodes configured
2 Resources configured

Online: [ ha1 ha2 ]
注意我红色的地方,说明你的HA已经启动成功,其实到这里,你的双机就已经配好了,剩下的只不过是加一些资源进去而已

那么我们这次要用的只有两个资源,就是apache和一个浮动IP,let‘s do it!

pcs property set stonith-enabled=false 这条命令的意思是,双机不起用stonith设备,什么是stonith?自己g一下,或者你不需要管,你就按照敲一下就行了,以后我会放概念文章的

[[email protected] ~]# pcs   resource create ClusterIP
ocf:heartbeat:IPaddr2   ip=192.168.1.82
cidr_netmask=24 op monitor interval=30s   
这里你唯一要修改的就是 ip和cidr_netmask两个值,改成你的虚拟IP和掩码就行了,其他的你不许要弄懂什么意思,至少目前

然后我们看一下双机状态!

[[email protected] ~]# pcs status
Cluster name: wuhaocluster
Last updated: Mon Jan  5 15:05:20 2015
Last change: Mon Jan  5 14:25:46 2015 via cibadmin on ha1
Stack: corosync
Current DC: ha2 (2) - partition with quorum
Version: 1.1.10-29.el7-368c726
2 Nodes configured
2 Resources configured

Online: [ ha1 ha2 ]

Full list of resources:

ClusterIP    (ocf::heartbeat:IPaddr2):    Started ha2
注意红色的部分,你成功将虚拟IP添加进入了你的集群!

下面,我们还要添加http服务进入到你的集群,你需要先安装他,并且写一个首页文件

yum install httpd

[[email protected] ~]# cat /var/www/html/index.html
这里是1号机
[[email protected] ~]# cat /var/www/html/index.html

这里是2号机

写这个文件不是必须的,但是可以测试的时候更加直观一点

还有一点注意的是,我们需要配置apache的监控方法,这里我们按照官网的一个办法,就是配置apache-status,两台节点都要修改成下面这样哦!

vi /etc/httpd/conf/httpd.conf

<Location /server-status>

SetHandler server-status

Order
deny,allow

Deny
from all

Allow
from 127.0.0.1

</Location>

然后我们添加进入到集群当中来

[[email protected]~]#pcs resource create Web
ocf:heartbeat:apache 
configfile=/etc/httpd/conf/httpd.conf       statusurl="http://localhost/server-status"
op monitor interval=30s

查看集群状态

[[email protected] ~]# pcs status
Cluster name: wuhaocluster
Last updated: Mon Jan  5 15:13:21 2015
Last change: Mon Jan  5 14:25:46 2015 via cibadmin on ha1
Stack: corosync
Current DC: ha2 (2) - partition with quorum
Version: 1.1.10-29.el7-368c726
2 Nodes configured
2 Resources configured

Online: [ ha1 ha2 ]

Full list of resources:

ClusterIP    (ocf::heartbeat:IPaddr2):    Started ha2
 Web    (ocf::heartbeat:apache):    Started ha1

注意红色的部分,到这里,恭喜你的HA已经配置好了,剩下的只是一些调整了,有没有注意到你的两个服务分别跑在两台机器上面?其实这是RHEL7双机比较好的地方,他认为应该利用每个节点的硬件资源,所以会智能的把服务跑在各个节点,但是对于我们这个http架构来说,入股你的虚拟IP和你的APACHE都不在一台机器上面,客户如何访问你的页面?所以我们需要修改

pcs constraint
colocation add Web ClusterIP INFINITY

上面的命令就是强制的把web和CLusterIP两个服务绑在一台机器上面,另外我们还需要确保ip服务一定是在http服务之前运行起来的,你想想看,没有IP,你httpd起来有什么意义?如果是一些特殊场景,比如数据库,你的数据在存储上面,如果存储不是在数据库启动脚本之前就被挂载起来,那ORACLE启动脚本怎么可能执行成功?

[[email protected] ~]# 
pcs constraint order ClusterIP then Web

好,我们再看下双机状态

[[email protected] ~]# pcs status
Cluster name: wuhaocluster
Last updated: Mon Jan  5 15:13:21 2015
Last change: Mon Jan  5 14:25:46 2015 via cibadmin on ha1
Stack: corosync
Current DC: ha2 (2) - partition with quorum
Version: 1.1.10-29.el7-368c726
2 Nodes configured
2 Resources configured

Online: [ ha1 ha2 ]

Full list of resources:

ClusterIP    (ocf::heartbeat:IPaddr2):    Started ha2
 Web    (ocf::heartbeat:apache):    Started ha2

PCSD Status:
  ha1: Online
  ha2: Online

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/disabled

现在都运行在2机上面了,打开你的浏览器,我们访问你的虚拟IP,应该是下面的结果

这里是2号机

好了,到此你的RHEL7+APACHE服务就配置好了,你可以尝试重启,停止网络等服务,来测试切换是否顺利,这篇文章的目的,是帮助那些接触过REDHAT双机的人快速上手的,更基础的文章,我日后会放出,另外PCS非常强大,有一起研究的可以在我的博客下面留言,大家一起学习进步!有问题加我的QQ

447040885

时间: 2024-12-11 10:03:11

RHEL7配置APACHE服务的HA的相关文章

Mac下配置Apache服务

这篇文章主要是针对Mac用户,第一次搭建本地开发环境的同学,已经搭建过的同学可以忽略. Mac自带的Apache还是XAMPP? That is a question. 其实自带的apache也够用了,XAMPP可能更加方便些.比如本地服务重启的时候,不需要在终端里面敲sudo apachectl restart. 当然,可能还有一些其他的问题,比如我之前在使用CI框架配置rewrite的时候,自带的apache没有配置成功,然后换成XAMPP就可以了.而且,安装XAMPP,不会影响自带的apa

RHEL7 配置iscsi服务端并实现客户端自动开机挂载

环境:server 172.25.0.11 --iscsi server iqn:iqn.2016-02.com.example:server0client 172.25.0.10 --iscsi client iqn:iqn.2016-02.com.example:desktop0一.iscsi服务端配置 安装targetcli yum install targetcli -y 找一块磁盘挂载 [[email protected] ~]# targetcli --进入此命令配置iscsi服务端

Ret Hat配置Apache服务

工具:RHEL7.5.Ubuntu kylin18.04Apache服务器:RHEL7.5 IP:192.168.1.176测试机:Ubuntu kylin18.04 IP:192.168.1.179 ------------------------------------------------------------------------------------------------------------------------- ***************************

超详细 值得收藏 linux CentOS 7 配置Apache服务【转发+新增】

一.Apache简介 Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行,由于其跨平台和安全性(尽管不断有新的漏洞被发现,但由于其开放源代码的特点,漏洞总能被很快修补.因此总合来说,其安全性还是相当高的.).被广泛使用,是最流行的Web服务器软件之一.它快速.可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中. 软件图标  二.安装Apache httpd 安装httpd以配

linux杂谈(二十):apache服务配置

1.apache简介 ? ?我们经常要浏览网页,提供这样的服务是apache.提供apache服务的软件是httpd服务. ? ?Apache支持許多特性,大部分通过编译的模块实现.這些特性從伺服器端的程式語言支援到身份認證方案.一些通用的语言接口支持Perl,Python,Tcl, 和PHP.流行的认证模块包括mod_access,mod_auth和mod_digest.其他的例子有SSL和TLS支持(mod_ssl),代理服务器(proxy)模块,很有用的URL重写(由mod_rewrite

apache服务与虚拟主机

apache是典型优秀的Web服务器,可以运行在linux,unix,windows等环境.其具有开源,跨平台,支持各种语言,模块化设置,稳定与安全等特点. 以红冒企业版RHEL5为例,搭建与配置apache服务. 配置好IP,网关,掩码等基本信息. 为了避免端口和程序发生冲突,删除以RPM包安装的相关软件.可根据实际情况删除. rpm -e httpd httpd-manual webalizer subversion mod_python mod_ssl mod_perl system-co

apache服务的配置

apache(web服务器) Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. 一.实验环境: RHEL7.0  172.25.254.10 server1.example.com  firewalld disabled 二.实验内容: 1.apache的安装: yum install -t httpd httpd-manual systemctl start httpd  启动apa

linux平台下apache的源码安装和将apache服务配置成系统服务

安装apache服务 下载apache源码包 # tar -zxvf http-2.2.29.tar.gz # cd http-2.2.29 #   ./configure --prefix=/usr/local/apache  --enable-so --enable-cgi #   make #   make install 配置成系统服务: #  cp /usr/local/apache/bin/apachectl /etc/init.d/httpd #  cp /usr/local/ap

如何在CentOS配置Apache的HTTPS服务

Web服务器在默认情况下使用HTTP,这是一个纯文本的协议.正如其名称所暗示的,纯文本协议不会对传输中的数据进行任何形式的加密.而基于HTTP的Web服务器是非常容易配置,它在安全方面有重大缺陷.任何"中间人",通过精心防止的数据包嗅探器,是能够看到任何经过的数据包内容.更进一步,恶意用户甚至可以在传输路径设置一个假冒的WEB服务器冒名顶替实际的目标Web服务器.在这种情况下,最终用户可能实际上与假冒者服务器,而不是真正的目的服务器进行通信.这样,恶意用户可以通过精心设计的表单欺骗终端