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

nginx入门需知(含安装教程)

目录

为什么要学习nginx

nginx的含义

反向代理

负载均衡

如何下载nginx


为什么要学习nginx

场景:在之前的学习过程中,我们启动一个项目,往往是把这个项目部署到tomcat服务器中。

举一个简单的例子:

你现在有 商品模块,订单模块,支付模块,用户模块。当大量用户同时对某商品下单时,单个 Tomcat 服务器部署的订单模块会因并发量过高出现响应缓慢、甚至崩溃的问题。因此,我们需要通过部署多台 Tomcat 服务器集群来分担订单模块的压力。

但有一些问题:

1 访问路径不统一:

  • 不同的服务器对应不同的端口号,我每次下单的访问路径都不同。

2 Session 不共享:

  • 有可能 这些服务器 在不同的城市,比如说 小明在A城市下单,但未付款,在B城市下单后,发现 ,待付款的订单不见了【不同tomcat服务器中session 不具备共享: Session 的存储特性(单服务器内存)】。

3 服务器性能不均:

  • 假设 某台服务器,性能下降,这时候 用户访问量激增,这时候应该怎么办,怎么将用户的访问转发到性能高的服务器上

大家,可以先看,我画的这幅图,去理解


基于以上问题,所有才使用 nginx

nginx的含义

nginx 是一个 高性能,高并发的http服务和反向代理服务器。具备反向代理和负载均衡、静态资源托管等功能


反向代理

反向代理:由于每一个服务器,都存在不同的访问路径,预先设置一个统一的访问路径,当到达nginx,被拦截,再将请求转发到特定的服务中。

注意:反向代理的核心,就是统一管理被访问的服务器的路径,并给予统一的访问路径,内部再进行转发

负载均衡

负载均衡:由于每一天服务器的性能都是不同的,为了解决大量用户访问,给服务器造成很大压力,可以根据服务器的性能情况,优先选择性能好的。

举一个简单的例子:假设服务器A可以同时容纳50个用户同时访问,服务器B可以容纳40个,服务器C可以容纳30个。这时候,服务器A 因为某种原因坏了,只能容纳10个。如果这时候突然来了60个用户访问,这时候解决办法

1 给服务器的性能进行优先级排序,性能高的优先被访问

2 给性能高的服务器,增加 权重。提高该服务器被访问的概率

如何下载nginx

  • 下载nginx的地址
https://nginx.org/en/download.html

当然了,在真实的项目中,往往要求,你的nginx的版本和jdk、maven、node 版本要适配。到时候再选择自己最合适的。


下载成功后,解压到指定的目录下

1 启动 Nginx

1.1 命令方式启动

进入 Nginx 下载目录的黑窗口:win+r 打开

启动命令:start nginx


验证是否启动成功

访问 http://localhost,出现 "Nginx" 欢迎页面即成功

查看进程:tasklist /fi "imagename eq nginx.exe"

常用命令

nginx -s stop  快速停止

nginx -s quit  优雅停止

nginx -s reload  重新加载配置

nginx -s reopen 重新打开日志文件

1.2 双击nginx.exe 

启动效果:双击后会短暂弹出命令行窗口,随后自动关闭,此时 Nginx 已在后台运行(可通过任务管理器查看 nginx.exe 进程确认)

缺点:若启动失败(如端口被占用),窗口一闪而过,难以查看错误信息(需通过 logs/error.log 日志文件排查)。


重点:在nginx.conf文件中,添加相关配置比如添加统一的访问路径,添加转发路径,添加权重等

nginx.conf 文件中的结构:

设置转发路径:当客户端发送请求【nginx预先设置好的请求】,被拦截后,转发到指定的服务器中

因此需要配置 目标服务器的访问路径。

http://www.lryc.cn/news/620909.html

相关文章:

  • 知识的本质
  • 【MATLAB技巧】已知平面上的一些点,拟合得到一个圆的例程,给出最小二乘与非线性迭代两种解法,附下载链接
  • Swift 数据类型全景解析(基础到高阶)
  • Gradle(四)Maven 项目迁移 Gradle 项目实践
  • [激光原理与应用-274]:理论 - 波动光学 - 光是电磁波,无线电磁波可以通过天线接收和发送,为什么可见光不可以?
  • 滑动窗口题目:定长子串中元音的最大数目
  • 【读代码】开源流式语音编码器SecoustiCodec
  • MySQL的索引(索引的创建和设计原则):
  • python自学笔记8 二维和三维可视化
  • 业务敏捷性对SAP驱动型企业意味着什么?如何保持企业敏捷性?
  • 网络通信全过程:sk_buff的关键作用
  • ⭐CVPR2025 3D 高斯探测视觉基础模型3D能力
  • Mybatis学习笔记(五)
  • 3D-R1、Scene-R1、SpaceR论文解读
  • 区块链 + 域名Web3时代域名投资的新风口(上)
  • CTFSHOW | nodejs题解 web334 - web344
  • 一颗TTS语音芯片给产品增加智能语音播报能力
  • 关于RSA和AES加密
  • vue+后端
  • vue3使用leaflet地图
  • 最新去水印小程序系统 前端+后端全套源码 多套模版 免授权(源码下载)
  • 跨域及解决方案
  • python+vue扫盲
  • langchain入门笔记03:使用fastapi部署本地大模型后端接口,优化局域网内的问答响应速度
  • Room 数据存储
  • AI 赋能:从智能编码提速到金融行业革新的实践之路
  • 机器翻译:Hugging Face库详解
  • 【51单片机学习】定时器、串口、LED点阵屏、DS1302实时时钟、蜂鸣器
  • 深入解析Prompt缓存机制:原理、优化与实践经验
  • (第十五期)HTML文本格式化标签详解:让文字更有表现力