当前位置: 首页 > news >正文

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

文章目录

  • 1.介绍
    • 1.1 Http代理,反向代理
    • 1.2 负载均衡
    • 1.3 Web缓存
    • 1.4 Ngix相关地址
  • 2.Linux下Ngix服务安装(Centos为例)
    • 2.1 依赖安装
    • 2.2 Ngix主程序安装
    • 2.3 启动Nginx服务
  • 3.Nginx配置详解(反向代理)
    • 3.1 全局块
    • 3.2 events 块
    • 3.3 http 块
  • 4.配置实例
  • 参考文档

1.介绍

Nginx 支持多种负载均衡算法,如轮询、加权轮询、IP 哈希、最少连接数等。通过负载均衡,可以将客户端的请求合理地分配到多个后端服务器上,避免单个服务器负载过高,提高系统的整体性能和可靠性。例如,在一个由多台应用服务器组成的集群中,Nginx 可以根据不同的算法将用户的请求分发到不同的服务器上进行处理。
请添加图片描述

Nginx常用功能

1.1 Http代理,反向代理

作为web服务器最常用的功能之一,尤其是反向代理。
在这里插入图片描述
Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。

1.2 负载均衡

Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,只有你想不到的没有他做不到的啦,可以参照所有的负载均衡算法,给他一一找出来做下实现。

上3个图,理解这三种负载均衡算法的实现
Ip hash算法,对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。
在这里插入图片描述

1.3 Web缓存

Nginx可以对不同的文件做不同的缓存处理,配置灵活,并且支持FastCGI_Cache,主要用于对FastCGI的动态程序进行缓存。配合着第三方的ngx_cache_purge,对制定的URL缓存内容可以的进行增删管理。

1.4 Ngix相关地址

源码:https://trac.nginx.org/nginx/browser

官网:http://www.nginx.org/

2.Linux下Ngix服务安装(Centos为例)

2.1 依赖安装

检查是否安装gcc,若没有安装执行如下命令:

yum -y install gcc

pcre、pcre-devel、zlib、openssl安装,安装的必要性:(1)pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。(2)zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装;(3)openssl是一个安全套接字层密码库,nginx要支持https,需要使用openssl。

yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

2.2 Ngix主程序安装

下载Ngix安装包(tar.gz格式),下载地址:http://nginx.org/download/,选择需要的版本:
在这里插入图片描述
或在主机使用如下命令:

wget http://nginx.org/download/nginx-1.29.0.tar.gz

把压缩包解压到/usr/local,并进入路径:

tar -xzvf nginx-1.29.0.tar.gz -C  /usr/local/
cd /usr/local/nginx-1.29.0

按照如下命令配置编译:

./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --http-log-path=/var/log/nginx/access.log -
http://www.dtcms.com/a/338814.html

相关文章:

  • Python 3.14深度解析:革命性特性与性能优化实践
  • Go高效复用对象:sync.Pool详解
  • Windows内核开发笔记
  • 免费导航规划API接口详解:调用指南与实战示例
  • 一个基于前端技术的小狗寿命阶段计算网站,帮助用户了解狗狗在不同年龄阶段的特点和需求。
  • 数据链路层-网络层-传输层
  • js 值转换boolean方式
  • AutoSAR实战:DCM配置之Response On Event (0x86)事件响应配置指导
  • 【深度学习计算性能】06:多GPU的简洁实现
  • 守护通行安全,“AI+虚拟仿真”领航交通设施人才培育
  • ROS点云可视化工具——Foxglove工具使用
  • Spring Cloud 微服务架构:Eureka 与 ZooKeeper 服务发现原理与实战指南 NO.1
  • 前端如何处理首屏优化问题
  • 微信小程序实现蓝牙开启自动播放BGM
  • 八大排序简介
  • 【集合框架LinkedList底层添加元素机制】
  • el-table 动态列表渲染和动态表格背景设置
  • JavaWeb前端03(Vue用法及具体案例)
  • UniApp 微信小程序之间跳转指南
  • Ubuntu 18.04上安装GCC 9
  • 关于Linux内核中头文件问题相关总结
  • 《Dual Prompt Personalized Federated Learning in Foundation Models》——论文阅读
  • 【使用三化学习早期融合的非标记化架构】
  • ZooKeeper 一致性模型解析:线性一致性与顺序一致性的平衡
  • ReLens「Focus DSLR 大光圈虚化相机」v4.1.2 f 解锁付款版 —一款专业大光圈和单反级背景虚化编辑软件
  • 知微传感3D相机上位机DkamViewer使用:给相机升级固件
  • 实现自己的AI视频监控系统-第一章-视频拉流与解码1
  • 【Ansible】Ansible架构及Ansible工作流程
  • 基于Java(SSM框架)+MySQL实现(Web)的超市管理系统
  • 私有化部署全攻略:开源模型本地化改造的性能与安全评测