haproxy服务器对nginx服务器web服务调度负载均衡、用nfs做共享目录(脚本部署)

这篇具有很好参考价值的文章主要介绍了haproxy服务器对nginx服务器web服务调度负载均衡、用nfs做共享目录(脚本部署)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、准备

二、在作为haproxy的服务器上导入以下shell执行haproxy安装

三、由于nginx服务需要用的nfs共享目录,先部署nfs

四、nginx服务器1部署

五、nginx服务器2部署同上

六、测试


一、准备

四台服务器

系统 IP 搭建服务器
centos7 192.168.1.12 haproxy
centos7 192.168.1.132 nfs(rpcbind)
centos7 192.168.1.133 nginx
centos7 192.168.1.134 nginx

四台服务器关闭防火墙和selinux

[root@localhost ~] systemctl stop firewalld.service       #关闭防火墙
[root@localhost ~] systemctl disable firewalld.service   #防火墙开机不自启
[root@localhost ~] sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/sysconfig/selinux 
                    #将selinux的配置文件改为不启动
[root@localhost ~] reboot  #重启服务器,修改selinux配置后重启生效

二、在作为haproxy的服务器上导入以下shell执行haproxy安装

[root@localhost ~] vim haproxy_install.sh

#!/bin/bash
#安装haproxy修改配置文件并添加两台web
yum install haproxy -y        #yum安装haproxy
echo 请输入nginx服务器1ip  
read a                        #弹出输入框并将输入内容作为变量a
echo 请输入nginx服务器2ip
read b                        #弹出输入框并将输入内容作为变量a
sed -i "82s/127.0.0.1:5001/$a:80/"  /etc/haproxy/haproxy.cfg        #替换haproxy的配置文件82行为nginx1的ip
sed -i "83s/127.0.0.1:5002/$b:80/"  /etc/haproxy/haproxy.cfg        #替换haproxy的配置文件83行为nginx2的ip
sed -i '63s/5000/80/'  /etc/haproxy/haproxy.cfg                     #将haproxy的默认5000端口改为80端口
echo "listen admin_stats" >> /etc/haproxy/haproxy.cfg               #设置haproxy的web管理用户
echo "stats enable" >> /etc/haproxy/haproxy.cfg                     #开启haproxy程序web服务
echo "bind *:8080" >> /etc/haproxy/haproxy.cfg                      #haproxy管理页面端口为8080
echo "mode http" >> /etc/haproxy/haproxy.cfg                        #以下为haproxy系统配置
echo "option httplog" >> /etc/haproxy/haproxy.cfg
echo "log global" >> /etc/haproxy/haproxy.cfg
echo "maxconn 10" >> /etc/haproxy/haproxy.cfg
echo "stats refresh 30s" >> /etc/haproxy/haproxy.cfg
echo "stats uri /admin" >> /etc/haproxy/haproxy.cfg
echo "stats realm haproxy" >> /etc/haproxy/haproxy.cfg
echo "stats auth admin:admin" >> /etc/haproxy/haproxy.cfg
echo "stats hide-version" >> /etc/haproxy/haproxy.cfg
echo "stats admin if TRUE" >> /etc/haproxy/haproxy.cfg              #以上为haproxy系统配置
systemctl start haproxy.service                                     #开启haproxy程序
c=$(ip a | grep "inet "|grep ens33| awk '{print $2}'|awk -F/ '{print $1}')  #变量c等于本机ip
echo haproxy部署完成
echo 访问$c将自动轮询$a和$b的web页面
echo 访问$c:8080/admin为haproxy程序的管理页面
echo 管理页面登录账户为admin密码为admin
#执行结果如下,在弹出的提示语后分别输入两台nginx服务器ip地址(根据实际环境输入)

[root@localhost ~] chmod 755 haproxy_install.sh  #添加执行权限
[root@localhost ~] ./haproxy_install.sh    #执行脚本

完毕!
请输入nginx服务器1ip
192.168.1.133
请输入nginx服务器2ip
192.168.1.134
haproxy部署完成
访问192.168.1.12将自动轮询192.168.1.133和192.168.1.134的web页面
访问192.168.1.12:8080/admin为haproxy程序的管理页面
管理页面登录账户为admin密码为admin
[root@localhost ~] systemctl status haproxy.service  #查看状态
Active: active (running) since 五 2023-06-16 14:22:43 CST; 15min ago  #运行中

三、由于nginx服务需要用的nfs共享目录,先部署nfs

[root@localhost ~] vim nfs_install.sh
#!/bin/bash
#function:安装nfs 创建/app/file作为共享文件
yum install nfs-utils rpcbind -y #yum安装nfs和rpc服务
touch /etc/exports               #创建nfc的配置文件
mkdir -p /app/file               #创建nfc共享文件目录
chown -R nfsnobody.nfsnobody /app/file/ #赋予共享目录nfs权限
echo "/app/file *(rw,sync)" >> /etc/exports #允许所有IP访问nfs共享目录并有可读写权限
exportfs –rv                               #载入配置
systemctl enable nfs                        #开机自启动nfs
systemctl enable rpcbind                    #开机自启动rps
systemctl start nfs                         #启动nfs程序
systemctl start rpcbind                     #启动rps程序
touch /app/file/index.html                  #在共享目录下创建网页文件
echo "<h1>skl6666666</h1>" >> /app/file/index.html #在网页文件中写入要显示的数据
echo nfs服务部署完成

[root@localhost ~] chmod 755 nfs_install.sh 
[root@localhost ~] ./nfs_install.sh 

Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
nfs服务部署完成
[root@localhost ~] systemctl status nfs  

四、nginx服务器1部署

[root@localhost ~] vim nginx_install.sh
# Centos7一键安装nginux
yum -y install  gcc gcc-c++ autoconf automake libtool make openssl openssl-devel pcre pcre-devel #安装nginx所需环境
cd  /usr/local/src/                                                                         #切换到安装目录
wget  http://nginx.org/download/nginx-1.8.1.tar.gz                                               #下载nginx到当前目录
tar -zxvf nginx-1.8.1.tar.gz                                                                     #解压nginx安装包
cd  nginx-1.8.1                                                                                  #进入解压后目录
./configure \--prefix=/usr/local/nginx \--with-http_ssl_module \--with-http_flv_module \--with-http_stub_status_module \--with-http_gzip_static_module \--with-pcre                                                     #编译文件
make && make install                                                                             #编译安装
cd  /usr/local/nginx                                                                             #进入nginx安装目录
sed -i '14s/nginx/BDQN/' /usr/local/nginx/html/index.html                                        #方便测试区分将网页中nginx改为BDQN
/usr/local/nginx/sbin/nginx                                                                      #启动nginx服务
echo nginx部署完成,请测试web页面                                                                #屏幕输出内容提醒用户
echo 接下来将部署nfs并映射html,请确认是否继续                                                    #屏幕输出内容提醒用户
echo 键入任意值将继续操作,如需中断请按Ctrl+c                                                    #屏幕输出内容提醒用户
read a                                                                                           #弹出框暂停执行,用户键入任意值继续执行,键入值作为变量a但后续并不调用这个变量
yum install nfs-utils rpcbind  -y                                                                #安装nfs和rpc服务
systemctl enable nfs                                                                             #开机自启动nfs服务
systemctl enable rpcbind                                                                         #开机自启动rps服务
systemctl start nfs                                                                              #启动nfs服务
systemctl start rpcbind                                                                          #启动rpc服务
echo nfs服务安装完成,接下来将进行挂载操作                                                       #屏幕输出内容提醒用户 
echo 键入任意值将继续操作,如需中断请按Ctrl+c                                                    #屏幕输出内容提醒用户
echo 请输入nfs服务器ip                                                                           #屏幕输出内容提醒用户
read b                                                                                           #将键入值作为变量b
mount -t nfs $b:/app/file /usr/local/nginx/html/                                                 #挂载nfs上的目录到nginx的html目录下
[root@localhost ~] chomd 755 nginx_install.sh
[root@localhost ~] ./nginx_install.sh  
请输入nfs服务器ip
192.168.1.132
[root@localhost ~] df -h

192.168.1.132:/app/file   17G  1.7G   16G   10% /usr/local/nginx/html #成功挂载

                                                                                                                                 

五、nginx服务器2部署同上

六、测试

haproxy服务器对nginx服务器web服务调度负载均衡、用nfs做共享目录(脚本部署)

haproxy服务器对nginx服务器web服务调度负载均衡、用nfs做共享目录(脚本部署)

关闭nginx 1 

 启动中haproxy服务器对nginx服务器web服务调度负载均衡、用nfs做共享目录(脚本部署)

 关闭掉haproxy服务器对nginx服务器web服务调度负载均衡、用nfs做共享目录(脚本部署)

 haproxy服务器对nginx服务器web服务调度负载均衡、用nfs做共享目录(脚本部署)发现还能登录192.168.1.133

 关闭nginx 2

haproxy服务器对nginx服务器web服务调度负载均衡、用nfs做共享目录(脚本部署)

测试完成


 

 文章来源地址https://www.toymoban.com/news/detail-492194.html

到了这里,关于haproxy服务器对nginx服务器web服务调度负载均衡、用nfs做共享目录(脚本部署)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker搭建Nginx+keepalived高可用负载均衡服务器

    一、背景 1.nginx高可用 在生产环境下,Nginx作为流量的入口,如果Nginx不能正常工作或服务器宕机,将导致整个微服务架构的不可用。所以负责负载均衡、反向代理的服务(Nginx)为了提高处理性能,高可用,也需要集群部署。本期咋们采用 keepalived 和 Nginx实现高可用。 2.Kee

    2024年04月22日
    浏览(50)
  • nginx连接前后端分离项目 或 负载均衡映射多个服务器

    nginx的两种用法: 打通前后端项目,前后端分离的项目,通过nginx建立连接 负载均衡,一台机器请求转发至多个服务器 前端项目中的配置: 后端项目的ip和端口号就是正常的 下面看看nginx的配置文件: 将打包后的前端项目放这里: vue项目打包后会生成一个dist文件夹 放在服

    2024年02月05日
    浏览(65)
  • 分布式 - 服务器Nginx:一小时入门系列之负载均衡

    跨多个应用程序实例的负载平衡是一种常用技术,用于优化资源利用率、最大化吞吐量、减少延迟和确保容错配置。‎使用 nginx 作为非常有效的HTTP负载平衡器,将流量分配到多个应用程序服务器,可以提升Web应用程序的性能,提高扩展性和可靠性。 使用 upstream 定义一组服务

    2024年02月12日
    浏览(51)
  • 【Nginx】负载均衡当其中一台服务器宕机之后

    搭建一个简单的负载均衡,然后关闭其中一台再来访问,会发现我们的浏览器卡住一直转圈圈,过了很久才会显示结果。由此我们可以得出结论Nginx负载的时候如果其中一台服务挂掉了,它会把请求转发到另一个可以提供服务的机器,其中这之间的超时等待默认是60s。我们可

    2024年02月08日
    浏览(49)
  • nginx两台负载均衡服务器之间使用keepalived实现高可用

    单点故障:某个重要的功能只有一份,如果他出现问题,会导致全局不能使用 “高可用性”(High Availability,缩写为HA)用于描述系统或服务在面临故障、硬件或软件问题时能够继续正常运行的能力。高可用性的目标是最大程度地减少系统中断或停机时间,确保用户可以随时

    2024年02月09日
    浏览(51)
  • 分布式 - 服务器Nginx:一小时入门系列之TCP反向代理和负载均衡

    1. HTTP反向代理和TCP反向代理 Nginx可以作为HTTP反向代理和TCP反向代理。 HTTP反向代理是指Nginx作为Web服务器的代理服务器,接收客户端的HTTP请求,然后将请求转发给后端的Web服务器,最后将Web服务器的响应返回给客户端。这种方式可以实现负载均衡、缓存、SSL终止等功能。 T

    2024年02月11日
    浏览(57)
  • HAProxy+nginx搭建负载均衡群集

    目录 一、常见的Web集群调度器 二、HAProxy群集介绍  1、Haproxy的特性 : 2、Haproxy常用的调度算法  ① 轮询调度(Round Robin) ② 最小连接数(Least Connections) ③ 基于来源访问调度算法(Source Hashing) ④URi ⑤ url_param ⑥ rdp-cookie(name) ⑦ source ⑧ static -rr 3、nginx和LVS和Haproxy有什

    2024年02月11日
    浏览(37)
  • RHEL 7配置HAProxy实现Web负载均衡

    本文将简单介绍使用HAProxy实现web负载均衡,主要内容包括基于权重的轮询、为HAProxy配置https、配置http重定向为https、配置HAProxy使用独立日志。 一、测试环境 HAProxy: 主机名:RH7-HAProxy IP地址:192.168.10.20 操作系统:Red Hat Enterprise Linux Server release 7.2 (Maipo)最小化安装 防火墙与

    2023年04月23日
    浏览(35)
  • 【开发日记】换掉Nginx,使用HAProxy作为反向代理服务器

    HAProxy,全称为 \\\"High Availability Proxy\\\",是一款开源的、高性能的负载均衡器和代理服务器。主要用于改善应用程序的可用性、可靠性和性能。 与大众熟知的Nginx相比各有优缺点,如果你需要的是一个Web服务器,还是首选Nginx,虽然HAProxy也能实现相同效果,但却需要通过十分繁琐

    2024年01月25日
    浏览(61)
  • 代理服务器之 squid、lvs、nginx、haproxy之间的区别

    代理服务可简单的分为 正向代理 和 反向代理 正向代理服务器:squid 用于代理内部网络对 Internet 的连接请求(如 VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标 Web 服务器的 HTTP 请求先发送到代理服务器上,然后由代理服务器去访问 Web 服务器,并将 Web 服务器的

    2024年02月12日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包