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

开发笔记:tengine2.3.2负载均衡和haproxy七层代理

本文由编程笔记#小编为大家整理,主要介绍了tengine-2.3.2负载均衡和haproxy七层代理相关的知识,希望对你有一定的参考价值。下载tengine-2.3.2
本文由编程笔记#小编为大家整理,主要介绍了tengine-2.3.2负载均衡和haproxy七层代理相关的知识,希望对你有一定的参考价值。

下载tengine-2.3.2
[root@ha1 soft]# wget http://tengine.taobao.org/download/tengine-2.3.2.tar.gz
添加www用户
[root@ha1 soft]# useradd www -s /sbin/nologin -u 1000
[root@ha1 soft]# ll
-rw-r--r-- 1 root root 2835884 Sep 5 2019 tengine-2.3.2.tar.gz

编译安装tengine
[root@ha1 soft]# yum -y install gcc gcc-c++
[root@ha1 soft]# tar -zxvf tengine-2.3.2.tar.gz
[root@ha1 soft]# cd tengine-2.3.2/
[root@localhost tengine-2.3.2]# ./configure
--prefix=/data/tools/tengine-2.3.2
--user=www
--group=www
--with-http_ssl_module
--with-http_v2_module
--with-http_realip_module
--with-http_stub_status_module
--with-http_gzip_static_module
--with-pcre
--with-stream
--with-stream_ssl_module
--with-stream_realip_module
[root@ha1 tengine-2.3.2]# make -j 2 && make install
[root@ha1 conf]# pwd
/data/tools/tengine/conf

配置tengine
[root@ha1 conf]# grep -E "vhost|www" nginx.conf
user www www;
include vhost/*.conf;
配置虚拟主机
[root@ha1 conf]# mkdir vhost
[root@ha1 conf]#cd vhost
[root@ha1 vhost]# cat localhost.conf
server {
listen 9001;
server_name localhost;
index index.html index.htm index.php;
root /data/wwwroot/localhost;
}
配置代理
[root@ha1 vhost]# cat api.abc.com.conf
upstream api {
server 127.0.0.1:9001;
}

server {
listen 80;
server_name api.abc.com;

location / {
proxy_pass http://api;
}
}
windows添加本地host解析
C:WindowsSystem32driversetchosts
192.168.100.116 api.abc.com

测试
访问9001端口
技术图片
访问代理地址
技术图片

配置haproxy七层代理,实现/a转发到a集群地址,/b转发到b集群地址。
编译安装haproxy
tar xvfhaproxy-1.8.20.tar.gz && cd haproxy-1.8.20

#ARCH:平台架构,TARGET:内核版本,USE_PCRE:开启pcre,USE_OPENSSL:开启ssl
#USE_SYSTEMD:支持使用 -Ws参数(systemd-aware master-worker 模式)启动Haproxy,从而实现单主进程多子进程运行模式
#USE_CPU_AFFINITY:开启haproxy进程与CPU核心绑定
make ARCH=x86_64 TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_CPU_AFFINITY=1 PREFIX=/data/tools/haproxy-1.8.20

make install PREFIX=/data/tools/haproxy-1.8.20
cp haproxy /usr/sbin/
cd /data/tools/ && ln -sv /data/tools/haproxy-1.8.20 haproxy
mkdir -p /etc/haproxy/
useradd haproxy -s /sbin/nologin
mkdir /var/run/haproxy
chown -R haproxy.haproxy /var/run/haproxy

#haproxy添加代理配置实现访问/a跳转到a集群地址,访问/b跳转到b集群地址
[root@www ~]# cat /etc/haproxy/haproxy.cfg
global
maxconn 100000
chroot /data/tools/haproxy
#stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
#uid 99
#gid 99
user haproxy
group haproxy
daemon
nbproc 4
cpu-map 1 0
cpu-map 2 1
cpu-map 3 2
cpu-map 4 3
pidfile /var/run/haproxy/haproxy.pid
log 127.0.0.1 local3 info

defaults
option http-keep-alive
option forwardfor
maxconn 100000
mode http
timeout connect 300000ms
timeout client 300000ms
timeout server 300000ms

#添加haproxy代理配置
listen web_port
bind 192.168.100.101:80
mode http
acl a_path path_beg -i /a
use_backend a_path_host if a_path
acl b_path path_beg -i /b
use_backend b_path_host if b_path

backend a_path_host
mode http
server web1 192.168.100.102:8080 check inter 2000 fall 3 rise 5

backend b_path_host
mode http
server web1 192.168.100.103:8080 check inter 2000 fall 3 rise 5


推荐阅读
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 基于Socket的多个客户端之间的聊天功能实现方法
    本文介绍了基于Socket的多个客户端之间实现聊天功能的方法,包括服务器端的实现和客户端的实现。服务器端通过每个用户的输出流向特定用户发送消息,而客户端通过输入流接收消息。同时,还介绍了相关的实体类和Socket的基本概念。 ... [详细]
  • 本文介绍了Java后台Jsonp处理方法及其应用场景。首先解释了Jsonp是一个非官方的协议,它允许在服务器端通过Script tags返回至客户端,并通过javascript callback的形式实现跨域访问。然后介绍了JSON系统开发方法,它是一种面向数据结构的分析和设计方法,以活动为中心,将一连串的活动顺序组合成一个完整的工作进程。接着给出了一个客户端示例代码,使用了jQuery的ajax方法请求一个Jsonp数据。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了Android中的assets目录和raw目录的共同点和区别,包括获取资源的方法、目录结构的限制以及列出资源的能力。同时,还解释了raw目录中资源文件生成的ID,并说明了这些目录的使用方法。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • 安装oracle软件1创建用户组、用户和目录bjdb节点下:[rootnode1]#groupadd-g200oinstall[rootnode1]#groupad ... [详细]
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社区 版权所有