热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

haproxy新手入门

2019独角兽企业重金招聘Python工程师标准项目地址http:haproxy.1wt.euPS:1.4.25的tar.gz下载后解压似乎有问题,

2019独角兽企业重金招聘Python工程师标准>>> hot3.png


项目地址

http://haproxy.1wt.eu/

PS:

    1.4.25的tar.gz下载后解压似乎有问题,改用了1.4.20


1.安装

解压之后可以读一下README,对所需的环境写的很详细


make TARGET=linux26     PREFIX=/xxxxx    # make 的时候必须制定当前系统内核版本,否则会有错误提示(注意大小写,下同)

make install PREFIX=/xxx                           #有点受不了,make 时候的指定对 install 无效,install 必须指定,否则会安装到默认路径 /usr/local/sbin 中


编辑配置文件haproxy.cfg (名字路径都不重要,因为使用时要指定文件)


haproxy的配置不太易懂,着重说明

----------------------------------------------------


global  
    maxconn 5120                    # 最大连接数  
    chroot /安装目录/haproxy  
    uid user_00  
    gid users  
    daemon                          # 使HAProxy进程进入后台运行。这是推荐的运行模式  
    quiet  
    nbproc  2                       # 通过nbproc多设置几个haproxy并发进程(必须使用daemon模式),这样每个进程的task_queue相对就会短很多,性能能提高不少  
    pidfile /var/run/haproxy.pid    # 将所有进程的pid写入文件 启动进程的用户必须有权限访问此文件  
     
defaults                            # 默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK  
    log     global  
    mode    http                    #http的7层模式  
    option  httplog  
    option  dontlognull  
    log 127.0.0.1 local3  
    retries 3                       #三次连接失败就认为是服务器不可用,也可以通过后面设置  
     
    option redispatch        #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器  
                                    #可选项:abortonclose  
                                    #       当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接  
    maxconn 2000     
    contimeout      5000  
    clitimeout      50000  
    srvtimeout      50000  
     
listen webfarm 0.0.0.0:80  
    mode http  
    stats uri /haproxy-stats                    # 监控haproxy状态  
    stats realm Haproxy\ statistics  
    stats auth netseek:52netseek                # 设置状态监控的用户名为netseek密码为52netseek  
    balance roundrobin                          # 负载均衡算法  
                                                # 可选项:source  
                                                #           根据客户端IP进行哈希的方式  
    COOKIE SERVERID insert indirect  
    option httpclose                            #  
    option forwardfor                           # apache日志转发功能  
    option httpchk HEAD /check.txt HTTP/1.0     # 心跳检测URL的设置  
 
# 可以根据机器的性能不同,不使用默认的连接数配置而使用自己的特殊的连接数配置  
# 如minconn 10 maxconn 20  
#   COOKIE 1表示serverid为1  
#   check inter 1500 是检测心跳频率  
#   rise 3是3次正确认为服务器可用  
#   fall 3是3次失败认为服务器不可用  
#   weight代表权重  
server app_bbs1 127.0.0.1:120001 COOKIE app1inst1 check inter 2000 rise 2 fall 5  
server app_bbs2 127.0.0.1:120002 COOKIE app1inst2 check inter 2000 rise 2 fall 5  
 
 
# 更详细的配置说明可参考   http://www.cnblogs.com/dkblog/archive/2012/03/13/2393321.html


----------------------------------------------------



----------------------------------------------------

简化版的配置

----------------------------------------------------


global  
        log 127.0.0.1   local0  
        log 127.0.0.1   local1 notice  
        #log loghost    local0 info  
        maxconn 4096  
        chroot /tmp/chric/haproxy  
        uid 99  
        gid 99  
        daemon  
        #debug  
        #quiet  
 
defaults  
        log     global  
        mode    http  
        option  httplog  
        option  dontlognull  
        retries 3  
        option redispatch  
        maxconn 2000  
        contimeout      5000  
        clitimeout      50000  
        srvtimeout      50000  
 
 
listen  appli3-relais 0.0.0.0:10003  
        dispatch 127.0.0.1:11211


listen  appli4-backup 0.0.0.0:10004

    balance roundrobin  
    server  inst1 127.0.0.1:12001 check inter 2000 fall 3  
    server  inst2 127.0.0.1:12002 check inter 2000 fall 3 backup



----------------------------------------------------



2.测试


用简化的haproxy配置,该配置可同时使用10003和10004端口,区别只是haproxy的处理策略不同


* 启动 haproxy

     ./haproxy -f ./haproxy.cfg


* 启动一个监听 11211 端口的server

     python -m SimpleHTTPServer 12001


* 访问 haproxy 端口

          curl   http://127.0.0.1:10003

   http状态返回200


* 直接访问server端口,比较用

          curl   http://127.0.0.1:12001

   http状态返回200,与访问haproxy效果相同


* 关闭server,再次访问 haproxy 端口

          curl    http://127.0.0.1:10003  

   返回 

          curl: (7) couldn't connect to host


* 关闭server,再次直接访问server端口,比较用

          curl    http://127.0.0.1:12001

   返回 

503 Service Unavailable

No server is available to handle this request.

     




转:https://my.oschina.net/kakablue/blog/187495



推荐阅读
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
author-avatar
新葡京开户
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有