关键词:
【认识haproxy】
软件作用:负载均衡,可做4层也可做7层。
优点:
1 配置简单,软件使用简单
2 4、7层都可以做
3 有自动的监控检查功能
4 是一个专业反向代理软件
5 会话保持功能比较强大(ngixn的实现是通过ip hash,LVS 是通过-p)
6 几乎不需要优化,支持数以万计的并发连接。
常常用来对比LVS和NGINX对比
【常用环境】
1 邮件服务器代理
2 取代F5 等设备,或者作为其备份
3 代理web
【haporxy的简单搭建和简单使用实例--代理ssh】
目的:学习了解haproxy
【系统的环境】
[[email protected] haproxy]# ifconfig |grep -A1 eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:65:14:0F
inet addr:192.168.100.10 Bcast:192.168.100.255 Mask:255.255.255.0
[[email protected] haproxy]# uname -r; uname -m
2.6.32-358.el6.x86_64
x86_64
[[email protected] haproxy]# cat /etc/issue
entOS release 6.4 (Final)
【软件准备】
[[email protected] haproxy]# ll -h /usr/local/src/haproxy-1.6.2.tar.gz
-rw-r--r-- 1 root root 1.5M Sep 4 18:52 /usr/local/src/haproxy-1.6.2.tar.gz
【安装】
cd /usr/local/src tar xvf haproxy-1.6.2.tar.gz cd haproxy-1.6.2 make TARGET=linux2628 ARCH=x86_64 make install PREFIX=/usr/local/haproxy
【安装结果和一些常用目录创建】
默认只有三个目录
[[email protected] haproxy]# tree -d /usr/local/haproxy/
/usr/local/haproxy/
├── doc
│ └── haproxy
├── sbin
└── share
└── man
创建一些常用目录:
cd /usr/local/haproxy
mkdir -p etc var/run/ var/chroot logs #放置haproxy配置文的目录,var/run 放置pid等文件的目录
创建haproxy用户
[[email protected] etc]# useradd haproxy
[[email protected] etc]# id haproxy
uid=1002(haproxy) gid=1002(haproxy) groups=1002(haproxy)
【编写haproxy配置文件】
vim haproxy.cfg
#Global settings
global
log 127.0.0.1:514 local3 info ###[err warning info debug]
maxconn 20480
chroot /usr/local/haproxy/var/chroot
user haproxy #为haproxy 用户的uid ,haproxy用户需要自己手动创建
group haproxy
daemon #后台运行
quiet
nbproc 2
pidfile /usr/local/haproxy/var/run/haproxy.pid
##---------------------------------------------------------------------
## common defaults that all the ‘listen‘ and ‘backend‘ sections will
## use if not designated in their block
##---------------------------------------------------------------------
defaults
log global ####采用全局定义的日志
mode http ###默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
maxconn 20480
option httplog
option httpclose
option forwardfor
option dontlognull ###不记录健康检查的日志信息
option redispatch ###serverId对应的服务器挂掉后,强制定向到其他健康的服务器
retries 3 #3次连接失败就认为服务不可用,也可以通过后面设置
balance roundrobin
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen ssh_poll
bind 192.168.100.10:80
mode tcp
option httplog
option dontlognull
option logasap
option forwardfor
option httpclose
server host1 192.168.100.10:22 check inter 2000 rise 3 fall 3
server host2 192.168.100.13:22 check inter 2000 rise 3 fall 3
listen status
bind 192.168.100.10:8080
stats enable
stats uri /stats #管理地址
stats auth admin:123456 #管理用户和密码
[[email protected] etc]#
测试启动:
检查配置文件:
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.conf -c
-f 指定配置文件
-c check配置文件
后台启动
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.conf -D
检查是否启动1:
[[email protected] haproxy]# ps -ef |grep haproxy
haproxy 2394 1 0 22:22 ? 00:00:00 /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.conf -D
haproxy 2395 1 0 22:22 ? 00:00:00 /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.conf -D
root 2626 1707 0 22:27 pts/0 00:00:00 grep --color=auto haproxy
检查端口是否启动:
[[email protected] haproxy]# netstat -tulnp |grep 80
tcp 0 0 192.168.100.10:8080 0.0.0.0:* LISTEN 2394/haproxy
tcp 0 0 192.168.100.10:80 0.0.0.0:* LISTEN 2394/haproxy
【测试80-代理ssh端口】
[[email protected] haproxy]# ssh -p80 192.168.100.10
[email protected]‘s password:
Last login: Sun Sep 4 22:23:02 2016 from 192.168.100.10 #第一被代理轮循到了host1
[[email protected] ~]# logout
Connection to 192.168.100.10 closed.
[[email protected] haproxy]# ssh -p80 192.168.100.10
Last login: Sun Sep 4 22:23:05 2016 from 192.168.100.10 #第二被代理轮循到了host2
[[email protected] ~]# Connection to 192.168.100.10 closed by remote host.
Connection to 192.168.100.10 closed.
【查看日志和配置日志的路径】
1 日志被定义到了local3 级别为info。 这是要开启/etc/init.d/rsyslogd 服务的(如何使用这个服务,百度)。
2 netstat -tulnp |grep 514 查看是否监听rsyslogd端口
默认日志写入/var/log/messages
如何修改日志的路径?
1 修改rsyslogd的配置(514监听端口一定要开启)
[[email protected] haproxy]# tail -1 /etc/rsyslog.conf
local3.* /usr/local/haproxy/logs/haproxy.log
2 重启rsyslogd服务
/etc/init.d/rsyslog restart
【编写haproxy的启动脚本】
本文出自 “学通信,第一份工作运维” 博客,请务必保留此出处http://cuidehua.blog.51cto.com/5449828/1846235
zookeeper学习之安装部署
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,ZooKeeper是以Fast Paxos算法为基础,实现同步服务,配置维护和命名服务等分布式应用。Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要... 查看详情
高负载均衡学习haproxy之安装与配置
有关高负载均衡的软件,目前使用比较多的是haproxy、nginx和lvs。下面我们就开始学习haprxoy这款软件。一、haproxy介绍以下开始介绍有关haproxy的原理及其优点。1.1、haproxy原理haproxy提供高可用性、负载均衡以及基于TCP(第四层)和HTTP... 查看详情
小5聊vs2019开发工具之安装和部署winform项目
VS2019版本,已经移除了安装和部署功能,需要到管理扩展下载1、管理扩展下载安装和部署功能 installerProjects记得需要关闭VS开发工具,然后会自动安装 2、新建项目搜索setupproject 默认界面 3、文件夹说明ApplicationFo... 查看详情
prometheus学习之安装(代码片段)
## 简介Prometheus,一个开源的监控系统,它通过获取应用程序中实时时间序列数据,然后根据强大的规则引擎,帮助用户监控机器和应用程序。安装首先从 Prometheus 的官网下载安装包,这里下载的是 Linux安装包... 查看详情
jmeter之安装部署
Jmeter之安装部署1、环境要求JMeter可以安装部署在Windows平台下,也可以部署安装在临Linux平台下,环境要求必须安装jdk1.4以上,jdk的版本建议安装jdk1.7。2、安装部署2.1Windows下安装部署1)jdk1.7安装下载jdk安装包默认安装即可,安装... 查看详情
idea学习笔记之安装和基本配置
安装和基本配置: 下载:https://www.jetbrains.com/idea/download/#section=windows 下载Zip安装包: 基础知识:Eclipse的工作区=IDEA的项目Eclipse的项目=IDEA的模块 修改信息提示:Alt+/ 关闭当前窗口:Ctrl+W自动导包:配置JD... 查看详情
虚拟化vmware之安装部署vcenter
vCenter是vSphere解决方案的基础物理架构核心,可以提供如访问控制、性能监控和配置功能等,并且可以将多台ESXi主机资源集中,使这些资源在整个数据中心的虚拟机之间共享。vCenter是一种服务,充当连接网络的ESXi主机的中心管... 查看详情
prometheus+grafana部署说明之安装(代码片段)
说明在前面的Prometheus学习系列文章里,大致介绍说明了Prometheus和Grafana的一些使用,现在开始介绍如何从头开始部署Prometheus+Grafana,来监控各个相关的指标数据来进行展示。部署Prometheus基于Golang编写(需要安装),编译后的软... 查看详情
git学习之安装
1.官网下载https://git-scm.com/downloads2.修改安装目标路径,其他默认安装3.通过系统管理员身份打开cmd,输入git检查是否安装成功 查看详情
第0课-搭建开发环境之安装qt
第0课-搭建开发环境之安装Qt1.课程学习的原材料 —VisualStudio2010 —QtSDK4.7.4 —QtCreator2.4.12.VisualStudio2010 (1)用于学习Windows上GUI程序设计的原理 (2)体会使用C/C++编写GUI窗口应用程序 (3)展现Qt对于Win... 查看详情
1.深度学习之安装教程
在centos5下安装TensorFlow。步骤:1.安装python3.52.安装pip3,同时建立软链接。3.安装TensorFlow,pipinstall--upgradetensorflow 出现问题:1./lib64/libc.so.6:versionGLIBC_2.14notfound解决办法: 查看详情
linux系统之安装linux管理工具inpanel(代码片段)
Linux系统之安装Linux管理工具inpanel一、inpanel介绍1.inpanel简介2.inpanel特点二、检查本地系统环境1.检查系统版本2.检查系统内核版本三、下载inpanel软件包1.创建下载目录2.下载inpanel软件3.查看源码inpanel文件四、部署inpanel应用1.一键... 查看详情
自动化之安装操作系统——pxe
PXE:PrebooteXecutionEverionment,Intel公司开发的预启动执行环境,使用这套环境能够使我们在为大量的计算机部署操作系统的时候,不必在每一台新主机上部署操作系统,而是让其自动安装,我们只需要让机器开机... 查看详情
2.solr学习速成之安装
1.下载解压solr-5.3.1.tgz[[email protected]opt]#tar-zxfsolr-5.3.1.tgz-C/opt/module/2.将solr-5.3.1/server/solr-webapp下的webapp文件夹拷贝到tomcat下的webapp下,并改名solr[[email protected]solr-webapp]#cp-rwebapp/* 查看详情
rabbitmq学习之安装
一、Yum的安装配置切换linuxroot权限#su-在根目录下创建yum文件夹#cd/#mkdiryum1、配置本地yum源(1)将系统安装镜像挂载到本地文件系统#mount-oloop/mnt/hgfs/share/rhel-server-6.6-x86_64-dvd.iso/yum //(ISO镜像文件的地址,之前在... 查看详情
prometheus学习之安装(代码片段)
## 简介Prometheus,一个开源的监控系统,它通过获取应用程序中实时时间序列数据,然后根据强大的规则引擎,帮助用户监控机器和应用程序。安装首先从 Prometheus 的官网下载安装包,这里下载的是 Linux安装包... 查看详情
linux(centos)之安装tomcat并且部署javaweb项目(转)
1.准备工作 a.下载tomcatlinux的包,地址:http://tomcat.apache.org/download-80.cgi,我们下载的版本是8.0,下载方式如图: b.因为tomcat的安装依赖于Javajdk,所以我们需要在判断linux系统下面是否安装jdk ... 查看详情
mdt2010部署windows7之安装与配置wds
文档说明:通过此部分内容,您将了解到如何使用MicrosoftDeploymentToolkit2010部署Windows7客户端,实验内容包括安装、配置MDT以及部署Windows7客户端等内容。(省略安装配置AD、DNS、DHCP)机器名系统角色功能备注DCWindowsServer2012R2AD、DHC... 查看详情