Linux安装Nginx及配置TCP负载均衡

news2024/9/30 11:40:31

目录

  • 1、安装编译工具及库文件
  • 2、下载解压Nginx压缩包
  • 3、Ngnix配置Tcp负载均衡
  • 4、配置Ngnix的文件
  • 5、Nginx启动

1、安装编译工具及库文件

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel pcre-devel

2、下载解压Nginx压缩包

wget https://nginx.org/download/nginx-1.18.0.tar.gz

tar -zxvf nginx-1.18.0.tar.gz

3、Ngnix配置Tcp负载均衡

[root@Zhn software]# cd nginx-1.18.0
[root@Zhn nginx-1.18.0]# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  Makefile  man  objs  README  src
[root@Zhn nginx-1.18.0]# ./configure --with-stream
[root@Zhn nginx-1.18.0]# make && make install

编译完成后,默认安装在了/usr/local/nginx目录。

[root@Zhn nginx-1.18.0]# cd /usr/local/nginx/
[root@Zhn nginx]# ls
conf  html  logs  sbin

可执行文件在sbin目录下,配置文件在conf目录下的nginx.conf

4、配置Ngnix的文件

打开conf/ngnix.conf文件
在这里插入图片描述添加红色方框内的配置
逐个解析:

upstream MyServer{
        server 127.0.0.1:6000 weight=1 max_fails=3 fail_timeout=30s;
        server 127.0.0.1:6002 weight=1 max_fails=3 fail_timeout=30s;
    }
  
# 表示Nginx负载两台服务器,weight表示权重
# 两台服务器的权重都是1,说明来十个连接时,Nginx会把十个连接平均分发到每台服务器,即每台服务器处理5个连接
# 如果weight=1,weight=2,说明1/3的连接分发到第一台服务器,2/3的连接分发到第二台服务器
# max_fails=3 表示允许最大失败次数为 3,即连续请求失败的最大次数;
# fail_timeout=30s 表示失败超时时间为30秒,在该时间内如果失败次数超过最大失败次数,则会暂时将该服务器标记为不可用。

server{
        proxy_connect_timeout 1s;
        listen 8000;
        proxy_pass MyServer;
        tcp_nodelay on;
    }
    
# proxy_connect_timeout 1s;:设置代理服务器连接超时时间为 1 秒,即如果连接后端服务器的时间超过这个设定时间,
# 则会视为连接超时。

# listen 8000;:指示 Nginx 在 8000 端口上监听传入的请求。

# proxy_pass MyServer;:实现了请求的反向代理,将来自客户端的请求转发到上游服务器组 MyServer 中的服务器上。

# tcp_nodelay on;:开启了 TCP 的 nodelay 功能,这个功能可以减少数据传输的延迟,尤其适用于实时性要求较高的连接。

5、Nginx启动

1、首先使用命令查看当前Linux下所有的TCP连接

[root@Zhn sbin]# netstat -tanp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:40488         0.0.0.0:*               LISTEN      1724/node           
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1406/sshd           
tcp        0      0 127.0.0.1:42438         127.0.0.1:40488         ESTABLISHED 12357/sshd: root@no 
tcp        0      0 127.0.0.1:40488         127.0.0.1:42436         ESTABLISHED 1724/node           
tcp        0     96 192.168.230.132:22      192.168.230.4:49282     ESTABLISHED 12504/sshd: root@pt 
tcp        0      0 127.0.0.1:41616         127.0.0.1:40488         ESTABLISHED 1653/sshd: root@not 
tcp        0      0 192.168.230.132:22      192.168.230.4:50593     ESTABLISHED 1653/sshd: root@not 
tcp        0      0 127.0.0.1:40488         127.0.0.1:41614         ESTABLISHED 1724/node           
tcp        0      0 127.0.0.1:41614         127.0.0.1:40488         ESTABLISHED 1653/sshd: root@not 
tcp        0      0 192.168.230.132:22      192.168.230.4:65205     ESTABLISHED 12357/sshd: root@no 
tcp        0      0 127.0.0.1:40488         127.0.0.1:41616         ESTABLISHED 2036/node           
tcp        0      0 127.0.0.1:40488         127.0.0.1:42438         ESTABLISHED 12417/node          
tcp        0      0 127.0.0.1:42436         127.0.0.1:40488         ESTABLISHED 12357/sshd: root@no 
tcp6       0      0 :::3306                 :::*                    LISTEN      1613/mysqld         
tcp6       0      0 :::22                   :::*                    LISTEN      1406/sshd           
[root@Zhn sbin]# 

可以发现Nginx没有启动

2、启动Nginx

[root@Zhn sbin]# ./nginx
[root@Zhn sbin]# netstat -tanp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      12536/nginx: master 
tcp        0      0 127.0.0.1:40488         0.0.0.0:*               LISTEN      1724/node           
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      12536/nginx: master 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1406/sshd           
tcp        0      0 127.0.0.1:42438         127.0.0.1:40488         ESTABLISHED 12357/sshd: root@no 
tcp        0      0 127.0.0.1:40488         127.0.0.1:42436         ESTABLISHED 1724/node           
tcp        0     96 192.168.230.132:22      192.168.230.4:49282     ESTABLISHED 12504/sshd: root@pt 
tcp        0      0 127.0.0.1:41616         127.0.0.1:40488         ESTABLISHED 1653/sshd: root@not 
tcp        0      0 192.168.230.132:22      192.168.230.4:50593     ESTABLISHED 1653/sshd: root@not 
tcp        0      0 127.0.0.1:40488         127.0.0.1:41614         ESTABLISHED 1724/node           
tcp        0      0 127.0.0.1:41614         127.0.0.1:40488         ESTABLISHED 1653/sshd: root@not 
tcp        0      0 192.168.230.132:22      192.168.230.4:65205     ESTABLISHED 12357/sshd: root@no 
tcp        0      0 127.0.0.1:40488         127.0.0.1:41616         ESTABLISHED 2036/node           
tcp        0      0 127.0.0.1:40488         127.0.0.1:42438         ESTABLISHED 12417/node          
tcp        0      0 127.0.0.1:42436         127.0.0.1:40488         ESTABLISHED 12357/sshd: root@no 
tcp6       0      0 :::3306                 :::*                    LISTEN      1613/mysqld         
tcp6       0      0 :::22                   :::*                    LISTEN      1406/sshd           
[root@Zhn sbin]# 

3、Nginx的其他命令

./nginx -s reload   # 重新加载配置文件启动
./nginx -s stop     # 关闭nginx服务器

# 注意:每次修改Nginx配置文件后,需要调用./nginx -s reload命令平滑重启

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

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

相关文章

腾讯云服务器如何购买?图文全流程,2024最新整理

腾讯云服务器购买流程很简单,有两种购买方式,直接在官方活动上购买比较划算,在云服务器CVM或轻量应用服务器页面自定义购买价格比较贵,但是自定义购买云服务器CPU内存带宽配置选择范围广,活动上购买只能选择固定的活动…

“架构(Architecture)” 一词的定义演变历史(依据国际标准)

深入理解“架构”的客观含义,不仅能使IT行业的系统架构设计师提升思想境界,对每一个积极的社会行动者而言,也具有长远的现实意义,因为,“架构”一词,不只限于IT系统,而是指各类系统(包括社会系统…

ClickHouse部署安装

准备工作 确定防火墙处于关闭状态 CentOS取消打开文件数限制 在hadoop102的 /etc/security/limits.conf文件的末尾加入以下内容 注意:以下操作会修改 Linux 系统配置,如果操作不当可能导致虚拟机无法启动,建议在执行以下操作之前给…

鸿蒙一次开发,多端部署(十五)常见问题

如何查询设备类型 设备类型分为default(默认设备)、tablet、tv、wearable、2in1等,有多种查询设备类型的方式。 通过命令行的方式查询设备类型。 通过命令行查询指定系统参数(const.product.devicetype)进而确定设备…

手撕算法-三数之和

描述 分析 排序双指针直接看代码。 代码 public static List<List<Integer>> threeSum(int[] nums) {Arrays.sort(nums);List<List<Integer>> res new ArrayList<>();for(int k 0; k < nums.length - 2; k){if(nums[k] > 0) break; …

pandas的综合练习

事先说明&#xff1a; 由于每次都要导入库和处理中文乱码问题&#xff0c;我都是在最前面先写好&#xff0c;后面的代码就不在写了。要是copy到自己本地的话&#xff0c;就要把下面的代码也copy下。 # 准备工作import pandas as pd import numpy as np from matplotlib impor…

【Java程序设计】【C00341】基于Springboot的药品管理系统(有论文)

基于Springboot的药品管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 项目获取 &#x1f345;文末点击卡片获取源码&#x1f345; 开发环境 运行环境&#xff1a;推荐jdk1.8&#xff1b; 开发工具&#xff1a;eclipse以及idea&…

修复公众号订阅消息改版金媒v10.3_v10.4和奥壹oelove 10.1处理方式有不同

首先我截图让大家看下自从微信官方弃用历史消息模板改用订阅号消息模板后&#xff0c;两个厂家是怎么针对程序修复的&#xff01; 一.金媒v10.3_v10.4 列出了类目标注了说明&#xff0c;然后参数需要自己申请和对接&#xff0c;对于新手来说一头雾水比较懵&#xff0c;也就是说…

②零基础MySQL数据库-MySQL约束

作用 表在设计的时候加入约束的目的就是为了保证表中的记录完整性和有效性&#xff0c;比如用户表有些列的值&#xff08;手机号&#xff09;不能为空&#xff0c;有些列的值&#xff08;身份证号&#xff09;不能重复 分类 主键约束(primary key) PK 自增长约束(auto_increme…

LabVIEW比例流量阀自动测试系统

LabVIEW比例流量阀自动测试系统 开发了一套基于LabVIEW编程和PLC控制的比例流量阀自动测试系统。通过引入改进的FCMAC算法至测试回路的压力控制系统&#xff0c;有效提升了压力控制效果&#xff0c;展现了系统的设计理念和实现方法。 项目背景&#xff1a; 比例流量阀在液压…

docker desktop 登录不上账号

配置走代理&#xff08;系统全局&#xff09;也没用 解决方法 参考博文&#xff1a; https://blog.csdn.net/weixin_37477009/article/details/135797296 https://adoyle.me/Today-I-Learned/docker/docker-desktop.html 下载 Proxifiler 配置 Proxifiler

使用 Web Components 实现输入法更换皮肤 (vue)

更换皮肤 (界面外观) 是拼音输入法的常见功能. 要实现更换皮肤, 有许多种不同的具体技术方案可以使用. 本文选择 Web Components 技术 (vue) 来实现这个功能. 目录 1 效果展示 1.1 发布新版本 2 Web Components 简介3 vue 使用 Web Components 3.1 使用 vue 实现 Web Compon…

软件测试 -- Selenium常用API全面解答(java)

写在前面 // 如果文章有问题的地方, 欢迎评论区或者私信指正 目录 什么是Selenium 一个简单的用例 元素定位 id定位 xpath定位 name定位 tag name 定位和class name 定位 操作元素 click send_keys submit text getAttribute 添加等待 显示等待 隐式等待 显示等…

立体统计图表绘制方法(分离式环图)

立体统计图表绘制方法&#xff08;分离式环形图&#xff09; 记得我学统计学的时候&#xff0c;那些统计图表大都是平面的框框图&#xff0c;很呆板&#xff0c;就只是表现出统计的意义就好了。在网络科技发展进步的当下&#xff0c;原来一些传统的统计图表都有了进一步的创新。…

uni-app从零开始快速入门

教程介绍 跨端框架uni-app作为新起之秀&#xff0c;在不到两年的时间内&#xff0c;迅速被广大开发者青睐和推崇&#xff0c;得益于它颠覆性的优势“快”&#xff0c;快到可以节省7套代码。本课程由uni-app开发者团队成员亲授&#xff0c;带领大家无障碍快速掌握完整的uni-app…

【微服务】Gateway服务网关

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;微服务 ⛺️稳中求进&#xff0c;晒太阳 Spring Cloud Gateway 是 Spring Cloud 的一个全新项目&#xff0c;该项目是基于 Spring 5.0&#xff0c;Spring Boot 2.0 和 Project Reactor 等响…

Spring Boot从入门到实战

课程介绍 本课程从SpringBoot的最基础的安装、配置开始到SpringBoot的日志管理、Web业务开发、数据存储、数据缓存&#xff0c;安全控制及相关企业级应用&#xff0c;全程案例贯穿&#xff0c;案例每一步的都会讲解实现思路&#xff0c;全程手敲代码实现。让你不仅能够掌Sprin…

七种查找方式(Java)

一、基本查找 也叫做顺序查找 说明&#xff1a;顺序查找适合于存储结构为数组或者链表。 基本思想&#xff1a;顺序查找也称为线形查找&#xff0c;属于无序查找算法。从数据结构线的一端开始&#xff0c;顺序扫描&#xff0c;依次将遍历到的结点与要查找的值相比较&#xff…

本人用编译

板子方 修改ip&#xff08;保证板子和主机在同一个网段&#xff09; mount -t nfs -o rw,nolock,nfsvers3 192.168.1.200:/home/violet/nfs get/ 互通的文件在~目录下get文件内 电脑方 使用arm-linux-gnueabihf-gcc 编译

什么是智能物联网关?有哪些作用?

随着物联网技术的不断发展和普及&#xff0c;智能物联网关已经成为连接物理世界与数字世界的桥梁&#xff0c;成为实现万物互联的重要枢纽。那么&#xff0c;什么是智能物联网关&#xff1f;它又有哪些价值呢&#xff1f;今天&#xff0c;就让我们一起走进HiWoo Box的世界&…