Haproxy实验搭建

news/2024/5/12 21:58:44/文章来源:https://blog.csdn.net/YUEAwb/article/details/136558596

1.yum本地源安装Haproxy

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install haproxy -y

2.yum网络源安装Haproxy

关闭防火墙和selinux

###先把安装包拖进来[root@localhost ~]# yum install rh-haproxy18-haproxy-1.8.24-3.el7.x86_64.rpm -y
###会提示缺少runtime这个包
###把runtime包装一下就好了
[root@localhost ~]# yum install rh-haproxy18-runtime-3.1-2.el7.x86_64.rpm -y###然后再装一下第一个包###
[root@localhost ~]# yum install rh-haproxy18-haproxy-1.8.24-3.el7.x86_64.rpm -y

安装完成;如下:

1.找名字,启动

[root@localhost ~]# rpm -qa|grep haproxy
rh-haproxy18-runtime-3.1-2.el7.x86_64
rh-haproxy18-haproxy-1.8.24-3.el7.x86_64
[root@localhost ~]# 
[root@localhost ~]# systemctl start rh-haproxy18-haproxy.service
[root@localhost ~]# 
[root@localhost ~]# systemctl status rh-haproxy18-haproxy.service

3.第三方仓库yum安装

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# 
[root@localhost ~]# yum install centos-release-scl-rh [root@localhost ~]# yum install rh-haproxy18-haproxy

[root@localhost ~]# systemctl start rh-haproxy18-haproxy.service 
[root@localhost ~]# 
[root@localhost ~]# systemctl status rh-haproxy18-haproxy.service 

可以启动;没问题

4.编译安装lua

1.在7-2装一下

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0[root@localhost ~]# yum install haproxy -y

2.去7-1安装

官网地址:https://www.lua.org/ftp/lua-5.4.6.tar.gz

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0###建立一个data文件夹
[root@localhost ~]# mkdir /data
[root@localhost ~]# cd /data
###开始安装
[root@localhost data]# curl -L -R -O http://www.lua.org/ftp/lua-5.4.6.tar.gz[root@localhost data]# tar zxf lua-5.4.6.tar.gz
[root@localhost data]# cd lua-5.4.6/

报错:gcc命令未找到

[root@localhost lua-5.4.6]# yum -y install gcc automake autoconf libtool make

问题解决了

###gcc解决后;然后再make  all;就好了 

3.做路径优化

[root@localhost data]# ln -s lua-5.4.6 lua

5.编译安装Haproxy

1.解压包

[root@localhost data]# rz -E
rz waiting to receive.
[root@localhost data]# ls
haproxy-2.4.25.tar.gz  lua  lua-5.4.6  lua-5.4.6.tar.gz
[root@localhost data]# tar xf haproxy-2.4.25.tar.gz 
[root@localhost data]# ls
haproxy-2.4.25  haproxy-2.4.25.tar.gz  lua  lua-5.4.6  lua-5.4.6.tar.gz

2.编译haproxy

[root@localhost data]# cd haproxy-2.4.25/[root@localhost haproxy-2.4.25]# ls
addons    CHANGELOG     doc       INSTALL      Makefile   ROADMAP  SUBVERS  VERS
admin     CONTRIBUTING  examples  LICENSE      README     scripts  tests
BRANCHES  dev           include   MAINTAINERS  reg-tests  src      VERDATE[root@localhost haproxy-2.4.25]# yum -y install gcc openssl-devel pcre-devel sysvel

make ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_LUA=1 LUA_INC=/data/lua/src/  LUA_LIB=/data/lua/src/

[root@localhost haproxy-2.4.25]# make install PREFIX=/apps/haproxy

3.路径优化

[root@localhost haproxy-2.4.25]# ln -s /apps/haproxy/sbin/haproxy /usr/sbin/
[root@localhost haproxy-2.4.25]# 
[root@localhost haproxy-2.4.25]# haproxy -v

4.生成配置文件

[root@localhost haproxy-2.4.25]# cd examples/
[root@localhost examples]# tee /usr/lib/systemd/system/haproxy.service  <<eof> 
> [Unit]
> Description=HAProxy Load Balancer
> After=syslog.target network.target
> 
> [Service]
> ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg  -c -q
> ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /var/lib/haproxy/haproxy.pid
> ExecReload=/bin/kill -USR2 $MAINPID
> LimitNOFILE=100000
> 
> [Install]
> WantedBy=multi-user.target
> 
> 
> eof

生成文件后,可以看一下 

5.创建文件

[root@localhost examples]# mkdir /etc/haproxy/
[root@localhost examples]# vim /etc/haproxy/haproxy.cfg
[root@localhost examples]# 
[root@localhost examples]# mkdir /var/lib/haproxy/

6.设置用户和目录权限

[root@localhost examples]# ls /usr/lib/systemd/system/haproxy.serviceuseradd -r -s /sbin/nologin  haproxy
systemctl enable --now haproxy

7.看haproxy起没起

[root@localhost examples]# systemctl enable --now haproxy
[root@localhost examples]# systemctl status haproxy.service 

6.状态页

1.解析

2.更改状态页配置

[root@localhost examples]# vim /etc/haproxy/haproxy.cfg 
[root@localhost examples]# 
[root@localhost examples]# systemctl restart haproxy.service 

3.访问页面

7.日志

1.查看日志

[root@localhost examples]# vim /var/log/messages
[root@localhost examples]# tail -f /var/log/messages

2.修改配置

[root@localhost ~]# vim /etc/rsyslog.conf
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# systemctl restart rsyslog.service haproxy.service

3.测试 

[root@localhost ~]# ls  /var/log/haproxy.log
/var/log/haproxy.log
[root@localhost ~]# tail -f /var/log/haproxy.log

4.把haproxy.log放在远端服务器

[root@localhost ~]# vim /etc/haproxy/haproxy.cfg15 log 192.168.91.102 local6 info[root@localhost ~]# systemctl restart haproxy.service 

5.配置7-2

[root@localhost ~]# vim /etc/rsyslog.conf

[root@localhost ~]# systemctl restart rsyslog.service
[root@localhost ~]# systemctl restart haproxy.service
[root@localhost ~]# ls /var/log/haproxy.log

刷新状态页;看日志 

[root@localhost ~]# tail -f /var/log/haproxy.log

8.Proxies

1.去7-1的haproxy配置文件

[root@localhost examples]# vim /etc/haproxy/haproxy.cfg

[root@localhost examples]# systemctl restart haproxy.service 

2.去配置7-2

[root@localhost ~]# yum install httpd -y
[root@localhost ~]# systemctl start httpd

写点内容到主站点目录下index文件中

[root@localhost ~]# cd /var/www/html
[root@localhost html]# echo 7-2 > index.html

3.配置7-3

[root@localhost ~]# yum install httpd -y
[root@localhost ~]# systemctl start httpd

写点内容到主站点目录下index文件中

[root@localhost ~]# cd /var/www/html
[root@localhost html]# echo 7-3 > index.html
[root@localhost html]#

4.访问192.168.91.100

[root@localhost ~]# curl 192.168.91.100
7-2
[root@localhost ~]# curl 192.168.91.100
7-3

5.关掉7-3的httpd

[root@localhost html]# systemctl stop httpd

6.去7-4curl访问一下 

[root@localhost ~]# curl 192.168.91.100

没有后端健康性检查

7.去7-1配置文件中加一下健康性检查

[root@localhost examples]# vim /etc/haproxy/haproxy.cfg

[root@localhost examples]# systemctl restart haproxy.service 

8.去7-4curl访问

此时7-3的httpd服务还是关闭的

我们加了后端性检查;所以它不会去访问7-3了

9.去7-1修改配置

[root@localhost examples]# vim /etc/haproxy/haproxy.cfg
[root@localhost examples]# systemctl restart haproxy.service 
 35 frontend  ky3536      bind 192.168.91.100:8037 #     use_backend  ky35_web38 39 backend  ky35_web40 server rs1  192.168.91.101:80 check41 server rs2  192.168.91.102:80 check

 

10.去7-4访问

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_998994.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux操作系统的vim常用命令和vim 键盘图

在vi编辑器的命令模式下&#xff0c;命令的组成格式是&#xff1a;nnc。其中&#xff0c;字符c是命令&#xff0c;nn是整数值&#xff0c;它表示该命令将重复执行nn次&#xff0c;如果不给出重复次数的nn值&#xff0c;则命令将只执行一次。例如&#xff0c;在命令模式下按j键表…

[java基础揉碎]继承

为什么需要继承: > 继承就可以解决代码复用的问题 继承的基本介绍: 继承的使用细节: 1.子类继承了所有的属性和方法&#xff0c;但是私有属性和方法不能在子类直接访问&#xff0c;要通过公共的方法去访问 解决, 提供公共的方法返回: 2.子类必须调用父类的构造器,完成父…

Linux系统——LVS、Nginx、HAproxy区别

目录 一、LVS 1.负载均衡机制 1.1负载均衡——NAT模式 1.2负载均衡——DR模式 1.3负载均衡——隧道模式 1.4负载均衡——总结 2.LVS调度算法 3.LVS优点 4.LVS缺点 二、Nginx 1.传统基于进程或线程的模型 2.Nginx架构设计 3.Nginx负载均衡 4.Nginx调度算法 5.Ngi…

Jmeter 测试使用基本组件结构

JMeter简介 Apache组织开发的开源免费压测工具纯Java程序&#xff0c;跨平台性强源程序可以从网上下载高扩展性可对服务器、网络或对象模拟巨大的负载&#xff0c;进行压力测试可以用于接口测试支持分布式、多节点部署 JMeter安装 下载位置 官网https://jmeter.apache.org/ …

Java中SpringBoot四大核心组件是什么

一、Spring Boot Starter 1.1 Starter的应用示例 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency><groupId>org.mybatis.sprin…

深度学习与人类的智能交互:迈向自然与高效的人机新纪元

引言 随着科技的飞速发展&#xff0c;深度学习作为人工智能领域的一颗璀璨明珠&#xff0c;正日益展现出其在模拟人类认知和感知过程中的强大能力。本文旨在探讨深度学习如何日益逼近人类智能的边界&#xff0c;并通过模拟人类的感知系统&#xff0c;使机器能更深入地理解和解…

高级语言讲义2016计专(仅高级语言部分)

1.斐波那契序列的第n项可以表示成以下形式&#xff0c;编写一个非递归函数&#xff0c;返回该数列的第n项的数值 #include <stdio.h>int func(int n) {if(n1||n2)return 1;int p1,q1,num;for(int i3; i<n; i) {numpq;qp;pnum;}return num; } 2.在MXN的二维数组A中&am…

瑞_23种设计模式_模板方法模式

文章目录 1 模板方法模式&#xff08;Template Pattern&#xff09; ★ 钩子函数1.1 介绍1.2 概述1.3 模板方法模式的结构1.4 模板方法模式的优缺点1.5 模板方法模式的使用场景 2 案例一2.1 需求2.2 代码实现 3 案例二3.1 需求3.2 代码实现 4 JDK源码解析&#xff08;InputStre…

【测试工具系列】压测用Jmeter还是LoadRunner?还是其他?

说起JMeter&#xff0c;估计很多测试人员都耳熟能详。它小巧、开源&#xff0c;还能支持多种协议的接口和性能测试&#xff0c;所以在测试圈儿里很受欢迎&#xff0c;也是测试人员常用的工具&#xff0c;但是在企业级性能场景下可能会有性能瓶颈&#xff0c;更适合测试自己使用…

Grafana二次开发环境搭建

1 Grafana环境搭建 1.1 搭建后端服务 下载windows安装版文件grafana.com 1&#xff09;选择版本号&#xff1a;此处我选的8.3.3版本 2&#xff09;安装完成后&#xff0c;请记住安装目录 &#xff0c;我的是在 D:\software\Gragana833 安装完成后会自动运行, 3&#xff09;此…

2024年软考重大改革

中国计算机技术职业资格网 考试日期 考试级别 考试资格名称 5月25日至28日 高级 系统分析师 系统架构设计师 信息系统项目管理师 中级 软件设计师 网络工程师 软件评测师 电子商务设计师 嵌入式系统设计师 数据库系统工程师 信息系统管理工程师 初级 程序员 …

MySQL之体系结构和基础管理

前言 本文以linux系统的MySQL为例详细介绍MySQL的体系结构&#xff0c;因为在实际生产环境中MySQL的运行环境都是linux系统。同时介绍MySQL的基础管理&#xff0c;包括用户管理和权限管理等。 MySQL体系结构 MySQL客户端/服务器工作模型 MySQL是C/S架构&#xff0c;工作模型…

物联网,智慧城市的数字化转型引擎

随着科技的飞速发展&#xff0c;物联网&#xff08;IoT&#xff09;已成为推动智慧城市建设的关键力量。物联网技术通过连接各种设备和系统&#xff0c;实现数据的实时采集、传输和处理&#xff0c;为城市的智能化管理提供了强大的支持。在数字化转型的浪潮中&#xff0c;物联网…

VUE_nuxt启动只能通过localhost访问,ip访问不到:问题解决

修改项目根目录下的 package.json "config": {"nuxt": {"host": "0.0.0.0","port": "3000"} } 这样项目启动后就可以通过ip进行访问了

AutoDev 自定义 Agent:快速接入内部 AI Agent,构建 IDE 即 AI 辅助研发中心

在开源 AI IDE 插件 AutoDev 的 #51 issue 中&#xff0c;我们设计了 AutoDev 的 AI Agent 能力&#xff0c;半年后我们终于交付了这个功能。 在 AutoDev 1.7.0 中&#xff0c;你将可以接入内部的 AI Agent&#xff0c;并将其无缝与现有的 AI 辅助能力结合在一起。 本文将使用 …

使用awk和正则表达式过滤文本或字符串 - 详细指南和示例

当我们在 Linux 中运行某些命令来读取或编辑字符串或文件中的文本时&#xff0c;我们经常尝试将输出过滤到感兴趣的特定部分。这就是使用正则表达式派上用场的地方。 什么是正则表达式&#xff1f; 正则表达式可以定义为表示多个字符序列的字符串。关于正则表达式最重要的事情之…

【C++ STL详解】——string类

目录 前言 一、string类对象的常见构造 二、string类对象的访问及遍历 1.下标【】&#xff08;底层operator【】函数&#xff09; ​编辑 2.迭代器 3.范围for 4.at 5.back和front 三、string类对象的容量操作 1.size 和 length 2.capacity 3.empty 4.clear 5.res…

Python编程实验六:面向对象应用

目录 一、实验目的与要求 二、实验内容 三、主要程序清单和程序运行结果 第1题 第2题 四、实验结果分析与体会 一、实验目的与要求 &#xff08;1&#xff09;通过本次实验&#xff0c;学生应掌握类的定义与对象的创建、类的继承与方法的覆盖&#xff1b; &#xff08;2…

接收端编程、UDP编程练习、wireshrak抓包工具、UDP包头

我要成为嵌入式高手之3月6日Linux高编第十六天&#xff01;&#xff01; ———————————————————————————— 学习笔记 接收端 recvfrom #include <sys/types.h> #include <sys/socket.h> ssize_t recvfrom(int sockfd, void *buf, si…

一文学会搭建 cli 脚手架工具

文章目录 设置工具命令package.json bin 字段注释&#xff1a;#!/usr/bin/env node设置环境变量 接收命令选项参数process 实现commander 命令行交互&#xff1a;inquirer下载项目模板&#xff1a;download-git-repo执行额外命令&#xff1a;自动安装依赖child_processexeca 体…