nginx负载均衡-轮询

news2024/9/26 3:29:47

实验使用ubuntu做主机

1.安装nginx

安装依赖
sudo apt install libgd-dev
下载nginx
wget http://nginx.org/download/nginx-1.22.1.tar.gz
解压nginx
tar -zvxf nginx-1.22.1.tar.gz
编译安装
cd nginx-1.22.1
编译并指定安装位置,执行安装之后会创建指定文件夹/www/home/nginx
./configure --prefix=/www/home/nginx \
--with-pcre \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--with-http_auth_request_module \
--with-http_image_filter_module \
--with-http_slice_module \
--with-mail \
--with-threads \
--with-file-aio \
--with-stream \
--with-mail_ssl_module \
--with-stream_ssl_module 

问题1:

./configure: error: the HTTP rewrite module requires the PCRE library. You can either disable the module by using --without-http_rewrite_module option, or install the PCRE library into the system, or build the PCRE library statically from the source with nginx by using --with-pcre= option. PCRE库

PCRE库支持正则表达式。如果我们在配置文件nginx.conf中使用了正则表达式,那么在编译Nginx时就必须把PCRE库编译进Nginx,因为Nginx的HTTP模块需要靠它来解析正则表达式。另外,pcre-devel是使用PCRE做二次开发时所需要的开发库,包括头文件等,这也是编译Nginx所必须使用的。可以这样安装:

sudo apt update sudo apt install libpcre3 libpcre3-dev 问题2:

./configure: error: SSL modules require the OpenSSL library. You can either do not enable the modules, or install the OpenSSL library into the system, or build the OpenSSL library statically from the source with nginx by using --with-openssl= option OpenSSL库

如果服务器不只是要支持HTTP,还需要在更安全的SSL协议上传输HTTP,那么需要拥有OpenSSL。另外,如果我们想使用MD5、SHA1等散列函数,那么也需要安装它。可以这样安装:

sudo apt-get install openssl libssl-dev 执行编译并安装

make && make install

2.开启nginx

进入nginx目录并测试nginx进程是否开启
root@bx-virtual-machine:cd /www/home/nginx/sbin#
root@bx-virtual-machine:/www/home/nginx/sbin# ./nginx
root@bx-virtual-machine:/www/home/nginx/sbin# ps -ef | grep nginx
root        2626       1  0 18:22 ?        00:00:00 nginx: master process ./nginx
nobody      2627    2626  0 18:22 ?        00:00:00 nginx: worker process
root        2630    2263  0 18:22 pts/1    00:00:00 grep --color=auto nginx

浏览器进入 

 

进入nginx的html修改为显示自己主机 

其他两个主机一样配置,分别是132、136、137 

 

 

3.做负载均衡 

        进入192.168.230.136的/www/home/nginx/conf的nginx.conf中修改
upstream nginx_boot{
   # 30s内检查心跳发送两次包,未回复就代表该机器宕机,请求分发权重比为1:2
   server 192.168.230.132 weight=100 max_fails=2 fail_timeout=30s; 
   server 192.168.230.137 weight=200 max_fails=2 fail_timeout=30s;
   # 这里的IP请配置成你WEB服务所在的机器IP
}

server {
    location / {
        root   html;
        # 配置一下index的地址,最后加上index.ftl。
        index  index.html index.htm index.jsp index.ftl;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        # 请求交给名为nginx_boot的upstream上
        proxy_pass http://nginx_boot;
    }
}
重启nginx 
root@bx-virtual-machine:/www/home/nginx/sbin# apt install nginx-core
root@bx-virtual-machine:/www/home/nginx/sbin# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

 4.测试

 一直按刷新会再132和137之间来回切换

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙APP的应用场景

鸿蒙APP可以用于多种场合和设备类型,这是鸿蒙系统的分布式能力和多终端适配的优势。以下是一些鸿蒙APP的应用场景,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.智能手机和平板电脑&am…

【听力与言语医学中心系列科普16】听力检查之纯音听阈测定

当我们去医院向医生诉说我们耳朵有问题时,最常听到医生说的是“去做个测听”吧,那么什么是测听?做测听有什么作用呢? 一、什么是纯音测听纯音听力测试自1943年Bunch教授发表后,就被作为首选的测听方法。纯音测听是测试…

一键轻松,免费创造:QuickQR带你体验AI二维码的轻松生成!

当今时代,将信息快速转变为可扫描图案,以简化人们的生活和工作方式,二维码技术展现了它强大的功能。特别是在分享链接、联系信息或进行支付时,二维码已成为现代社会一个不可或缺的部分。本文将探讨生成AI二维码的一种工具&#xf…

Linux服务器配置与管理(第三次实验)

实验目的及具体要求 目的 1.熟悉Shell 脚本语法 2.掌握创建脚本的方法 3.掌握运行脚本的方法 4.掌握变量及表达式 5.掌握Shell 控制结构 6.掌握Shell 函数 任务 1.显示当前日期时间、执行路径、用户账户及所在的目录位置 2.判断一个文件是不是字符设备文件&#xff0…

首发:2024全球DAO组织发展研究

作者,张群(专注DAO及区块链应用研究,赛联区块链教育首席讲师,工信部赛迪特邀资深专家,CSDN认证业界专家,微软认证专家,多家企业区块链产品顾问) DAO(去中心化自治组织&am…

手把手教学:AD09制作BOM及小技巧

BOM(Bill of Material)物料清单,是以数据格式来描述产品结构的文件,即生产一件产品所需的子零件及其产品中零件数量的完全组合。这里生成BOM表用作对你制作的pcb板进行成本预估和制作生产资料文件。同时也是样品制作时&#xff0c…

2024.1.25 C++QT 作业

思维导图 练习题 1. 自己封装一个矩形类(Rect),拥有私有属性:宽度(width)、高度(height), 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h) 输出该矩形的周长和面积函数:void sh…

策略者模式-C#实现

该实例基于WPF实现,直接上代码,下面为三层架构的代码。 目录 一 Model 二 View 三 ViewModel 一 Model using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace 设计模式练…

JavaWeb01--Tomcat

1、JavaWeb概述 Web开发是基于请求和响应的: 请求:浏览器(客户端)向服务器发送信息 响应:服务器向浏览器回送信息 请求和响应是成对出现的。 Web资源分类 所谓Web资源即放在Internet网上供外界访问的文件或程序&#x…

[java基础揉碎]break跳出循环的标签使用方式(continue同理)

语法: (1)break 语句可以指定退出哪层 (2)label1是标签,由程序员指定 (3)break 后指定到哪个label 就退出到哪里 (4)在实际的开发中,尽量不要使用标签(可读性会变差), 除非有业务逻辑需要必须使用迫不得已 (5)如果没有指定break,默认退出最近的循环体…

new mars3d.layer.WeiVectorTileLayer({在Mars3d官网个api搜索不到的说明

前景:new mars3d.layer.WeiVectorTileLayer({在Mars3d官网个api搜索不到的说明 说明: 可以下载示例git clone https://gitee.com/marsgis/mars3d-vue-example.git 参考api文档的Cesium.VectorStyle类,这个类可以在示例的thirdParty下面进行…

sql 行转列 日周月 图表统计

目录 目录 需求 准备 月 分析 按月分组 行转列 错误版本 正确版本 日 分析 行转列 周 分析 按周分组 行转列 本年 需求 页面有三个按钮 日周月,统计一周中每天(日),一月中每周(周),一年中每月(月),设备台数 点…

ROS2学习笔记(0)开坑声明

0.前提 在做racecar的过程中发现已经有不少的开发者和公司开始从ros1转向ros2的怀抱了,刚好寒假在家,我就顺带试试看能不能学点ros2,刚好我有两辆车和主板可以双线开工(是的,全是老师们赞助的,真的我哭死&…

DDPM的一点笔记

1 Title Denoising Diffusion Probabilistic Models(Jonathan Ho、Ajay Jain、Pieter Abbeel) 2 Conclusion This paper present high quality image synthesis results using diffusion probabilistic models, a class of latent variable models insp…

Two-factor authentication (2FA) is required for your GitHub account解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

物联网IOT: 风浆叶片拧紧装配及实时监测系统

某大型风电设备,通过机器人应用与精益化生产体系的融合,打造出行业领先的具备柔性生产能力的“脉动式”生产体系。同时在关键工序上。其中,在叶片装配等关键工序上使用由智能机器人代替人工,以提高生产的效率和装配质量可靠性,将六轴机器人、视觉系统、光电系统、液压、气动、伺…

计算机设计大赛 图像识别-人脸识别与疲劳检测 - python opencv

文章目录 0 前言1 课题背景2 Dlib人脸识别2.1 简介2.2 Dlib优点2.3 相关代码2.4 人脸数据库2.5 人脸录入加识别效果 3 疲劳检测算法3.1 眼睛检测算法3.3 点头检测算法 4 PyQt54.1 简介4.2相关界面代码 5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是…

5 步轻松上手,教你从 0 到 1 落地 Jmeter 接口自动化脚本!

Jmeter是进行接口测试的一款非常主流的工具,但绝大部分测试工程师,对于Jmeter接口测试脚本整理都是一知半解的。今天这篇文章,就以一个金融项目中接口为例,通过简单5步,教大家如何0代码编写Jmeter接口自动化脚本&#…

HBase入门:运行机制

文章目录 HBase 系统架构客户端ZooKeeper 服务器Master 主服务器Region 服务器 Region 服务器工作原理用户读写数据的过程缓存的刷新StoreFile合并 Store 的工作原理HLog 的工作原理 HBase 系统架构 HBase 的系统架构包括客户端、ZooKeeper 服务器、Master 主服务器、Region服…

Vue深入学习4—指令和生命周期

1.Vue是怎么识别 v- 指令的? 首先将HTML结构解析成属性列表,存入到数组中,接着遍历数组中的每一个节点,获取到不同指令对应的方法。 // 将HTML看作真正的属性列表 var ndoeAttrs node.attributes; var self this; // 类数组对象…