一. Linux编译安装haproxy

部署前说明:

(1)系统版本: centos 6.6(64位)

(2)相关中间件信息

haproxy版本信息: haproxy-1.5.15

编译安装haproxy

1.1 到haproxy官网下载haproxy源码包如下

cd ~wget http://www.haproxy.org/download/1.5/src/haproxy-1.5.15.tar.gz

1.2 创建haproxy运行用户

groupadd -r haproxy useradd -g haproxy -M -s /sbin/nologin haproxy

1.3 编译安装haproxy:

cd ~tar zxvf haproxy-1.5.15.tar.gz -C /usr/local/srccd /usr/local/src/haproxy-1.5.15make TARGET=linux26  ARCH=X86_64 PREFIX=/usr/local/haproxymake install PREFIX=/usr/local/haproxy

注意:TARGET=Linux26 是通过uname -a 来查看Linux内核版本的

1.4 创建haproxy主配置文件:

mkdir /etc/haproxy/vim /etc/haproxyhaproxy.cfg

代码内容如下

globallog         127.0.0.1 local2chroot      /var/lib/haproxypidfile     /var/run/haproxy.pidmaxconn     4000user        haproxygroup       haproxydaemonstats socket /var/lib/haproxy/statsdefaultsmode                    httplog                     globaloption                  httplogoption                  dontlognulloption http-server-closeoption forwardfor       except 127.0.0.0/8option                  redispatchretries                 3timeout http-request    10stimeout queue           1mtimeout connect         10stimeout client          1mtimeout server          1mtimeout http-keep-alive 10stimeout check           10smaxconn                 3000frontend  main *:5000acl url_static       path_beg       -i /static /p_w_picpaths /javascript /stylesheetsacl url_static       path_end       -i .jpg .gif .png .css .jsuse_backend static          if url_staticdefault_backend             appbackend staticbalance     roundrobinserver      static 127.0.0.1:4331 checkbackend appbalance     roundrobinserver  app1 127.0.0.1:5001 checkserver  app2 127.0.0.1:5002 checkserver  app3 127.0.0.1:5003 checkserver  app4 127.0.0.1:5004 check

1.4 创建haproxy系统服务启动脚本:

vim /etc/init.d/haproxy

代码内容如下

#!/bin/sh
#
# haproxy
#
# chkconfig:   - 85 15
# description:  HAProxy is a free, very fast and reliable solution \
#               offering high availability, load balancing, and \
#               proxying for TCP and  HTTP-based applications
# processname: haproxy
# config:      /etc/haproxy/haproxy.cfg
# pidfile:     /var/run/haproxy.pid# Source function library.
. /etc/rc.d/init.d/functions# Source networking configuration.
. /etc/sysconfig/network# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0exec="/usr/local/haproxy/sbin/haproxy"
prog=$(basename $exec)[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$progcfgfile=/etc/haproxy/haproxy.cfg
pidfile=/var/run/haproxy.pid
lockfile=/var/lock/subsys/haproxycheck() {$exec -c -V -f $cfgfile $OPTIONS
}start() {$exec -c -q -f $cfgfile $OPTIONSif [ $? -ne 0 ]; thenecho "Errors in configuration file, check with $prog check."return 1fiecho -n $"Starting $prog: "# start it up here, usually something like "daemon $exec"daemon $exec -D -f $cfgfile -p $pidfile $OPTIONSretval=$?echo[ $retval -eq 0 ] && touch $lockfilereturn $retval
}stop() {echo -n $"Stopping $prog: "# stop it here, often "killproc $prog"killproc $prog retval=$?echo[ $retval -eq 0 ] && rm -f $lockfilereturn $retval
}restart() {$exec -c -q -f $cfgfile $OPTIONSif [ $? -ne 0 ]; thenecho "Errors in configuration file, check with $prog check."return 1fistopstart
}reload() {$exec -c -q -f $cfgfile $OPTIONSif [ $? -ne 0 ]; thenecho "Errors in configuration file, check with $prog check."return 1fiecho -n $"Reloading $prog: "$exec -D -f $cfgfile -p $pidfile $OPTIONS -sf $(cat $pidfile)retval=$?echoreturn $retval
}force_reload() {restart
}fdr_status() {status $prog
}case "$1" instart|stop|restart|reload)$1;;force-reload)force_reload;;check)check;;status)fdr_status;;condrestart|try-restart)[ ! -f $lockfile ] || restart;;*)echo $"Usage: $0 {start|stop|status|restart|try-restart|reload|force-reload}"exit 2
esac

给该脚本授予可以执行的权限并启动haproxy服务:

chmod 777 /etc/init.d/hapoxyservice haproxy start

如果想开机自启动,也可以执行以下命令加入到到开机自启动:

chkconfig --add haproxy chkconfig --level 2345  haproxy on

1.5. haproxy服务启动状态查看

当haproxy服务启动后,我们可以通过netstat -ntlp | grep hapoxy 就可以查看到启动状态

[root@svn haproxy-1.5.15]# netstat -ntlp | grep haproxytcp        0      0 0.0.0.0:5000     0.0.0.0:*   LISTEN     23086/haproxy       [root@svn haproxy-1.5.15]# 

看到以上信息说明haproxy服务已经成功了!

总结:linxu编译安装haproxy有时需要手动编写启动脚本,在centos环境下可以利用自带的RPM来安装haproxy(默认1.5.4版本),而且有自带的配置文件和服务脚本。

转载于:https://blog.51cto.com/blief/1750573

HAproxy指南之haproxy编译安装(安装篇)相关推荐

  1. HAproxy指南之haproxy配置详解2(理论篇)

    上一小节的从haproxy的配置文件我们知道haproxy相关参数基本介绍,但是在实际生产环境中,往往需要根据相关规则做请求匹配跳转,这时就需要用到Frontend:Backend这两个配置段,再结合 ...

  2. linux7安装haproxy,Centos7 源码编译安装haproxy

    Centos7 源码编译安装haproxy 操作环境: 一台haproxy主机地址为:192.168.80.100 两台web服务器地址分别为:192.168.80.102 192.168.80.10 ...

  3. Cobbler部署指南之Cobbler安装操作系统篇

    ##################################################### ##如有转载,请务必保留本文链接及版权信息 ##欢迎广大运维同仁一起交流linux/unix ...

  4. scons用户指南第一章:编译和安装SCons

    1.安装Python 因为SCons是用Python编写的,所以你必须在使用SCons之前安装好Python.你在安装Python之前,应该注意查看Python是否在你的系统里已经可用了(在系统的命令 ...

  5. reactos 编译,安装篇

    在这里我们将具体谈一下reactos的编译和安装. 首先,要去www.reactos.org上下载最新的代码和编译工具: 目前reactos 版本为0.3.10,编译工具版本为:1.4.4 一般可在桌 ...

  6. linux怎么编译并安装busybox,linux下安装busybox

    1.获取busybox源码并解压,这里使用天嵌提供的"busybox-1.16.0.tar.bz2" #tar xvf busybox-1.16..tar.bz2 -C / 解压的 ...

  7. buildroot自带程序(库)编译并安装

    前几天情绪有点低落,经过周末的调整重新恢复状态,谢谢有爱的朋友们留言和点赞,有你们的陪伴我会更加努力,让我们一起开心写程序..... buildroot简介: 引用官方的简述: Buildroot是一 ...

  8. PocketSphinx语音识别系统的编译、安装和使用

    PocketSphinx语音识别系统的编译.安装和使用 zouxy09@qq.com http://blog.csdn.net/zouxy09 Sphinx是由美国卡内基梅隆大学开发的大词汇量.非特定 ...

  9. 如何安装mysql 5.6_如何通过编译工具安装mysql 5.6

    如何通过编译工具安装mysql 5.6 发布时间:2020-05-07 11:26:31 来源:亿速云 阅读:174 作者:三月 下文主要给大家带来如何通过编译工具安装mysql 5.6,希望这些文字 ...

最新文章

  1. 青龙羊毛——最美阅读
  2. mysql查询总结_mysql查询总结相关
  3. servlet上传代码
  4. SpringBoot整合 ActiveMQ、SpringBoot整合RabbitMQ、SpringBoot整合Kafka
  5. vue鼠标右键自定义菜单_vue-右键菜单功能
  6. 如何保证input的输入值不会随着提交 而变空_如何对web界面的应用进行测试?
  7. 搞生物的速看!有了它,30分钟可以把一天的工作都给干完!
  8. java中sql语句怎么把开始和结束时间作为参数写sql查询_java程序员跳槽的一道坎,大公司面试官都会问的Mybatis...
  9. 快看漫画个性化推荐探索与实践.pdf(附下载链接)
  10. [python] 当前时间输出字符串
  11. Add NIC to Openfiler 2.3
  12. java多线程--信号量Semaphore的使用
  13. R | package基础 | Rstudio + devtools 创建/开发R包(初学者 指南| 简明详细流程)
  14. switchhost使用记录
  15. 键盘 计算机 切换,笔记本键盘切换,详细教您笔记本怎么切换键盘
  16. numpy——随机取样
  17. 详解三极管NPN与PNP区别
  18. linux mint xmind运行,[deepin]安装XMind8并创建运行图标
  19. 易基因 | 表观技术:染色质结构构象与DNA互作:ChIP-seq、ATAC-seq
  20. ps如何把自己的图与样机结合_如何利用PS制作贴图样机那

热门文章

  1. 语义分割DeepLab v2--DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolut
  2. [librosa]0.8版本后不再支持write_wav
  3. ”device not found“错误原因及解决方法
  4. ASP.NET MVC CODE FIRST 图书管理系统 数据库
  5. java面向对象思维导图_2020年Java进阶架构师的必备思维导图,让你少走弯路!
  6. 分布式系统,session共享方案
  7. ios 标签 html,ios HTML的标签的过滤
  8. 4.Spring Security 添加图形验证码
  9. 三天学会Selenium,阿里p7精心整理自动化测试Selenium大礼包
  10. amd同步多线程_锐龙本主力AMD锐龙5 3500U测试:八代酷睿招架不住…