Nginx简单学习与了解

Nginx简单学习与了解

为什么会有nginx

没有nginx会有哪些问题及怎么解决

我的理解 :在不使用微服务的情况下,一台服务器无法应对高并发的问题;可以部署多态相同的服务器,共同来处理这些

请求,这多台服务器存在一个问题:服务与服务之间的session不共享、怎么做到每台服务的处理的请求达到一个

合理的情况(防止请求都发到一台服务器上去)等等问题---nginx的出现就可以解决这些问题。

AI总结

单台服务器无法应对高并发时,通常会部署多台相同应用的服务器做水平扩展。但多副本会带来两个问题:一是请求如何均匀分发、避免单台过载;二是 HTTP 无状态前提下,各节点 Session 不互通会导致用户状态丢失。

Nginx 作为接入层,通过 upstream 负载均衡解决流量分发(轮询/权重/ip_hash 等),并通过 ip_hash 或 sticky 机制可做 Session 保持;而彻底的 Session 共享通常配合 Redis 等外部存储实现,使应用无状态化。Nginx 在这个过程中承担流量入口、均衡与边缘治理的角色。

正向代理和反向代理

正向代理

在打游戏时,由于网络延迟,有时需要使用VPN或者加速器,核心原理:将客户端(游戏)的请求通过代理服务器(VPN或者加速器)访问目标服务器,目标服务器识别的是代理服务器的请求信息而非客户端的请求信息。

反向代理

我们在访问百度时,浏览器的地址栏永远是百度的域名,用户不知道真正访问百度的哪一台服务器。

区别

正向代理:是在客户端,用户配置的;

反向代理:是在服务端,用户无感知的。

nginx的主要功能

反向代理

客户端访问百度域名的案例。

负载均衡

  • 权重配置:服务器有多台,每台服务器的配置(内存、CPU等硬件)不同,想要给配置好的服务器分配更多的请求,配置低的服务器分配少的请求;通过nginx对服务器权重的配置,可以达到这一效果;
  • session保持问题:
    • 方案一:当用户访问服务时,如果是A服务器处理了这个请求,就将这个用户的session和IP绑定,每次都让这台服务器处理这个用户的请求;----存在的问题:这个服务挂了,就凉凉。
    • 方案二:用户的session信息存在redis中,用户的请求可以分发到任何一台服务器,session统一从redis中获取。

动静分离

静态资源(html、js、css等)放在nginx上,因为这些请求不需要后台处理,放在nginx上可以提高资源的响应速度。

安装nginx

https://nginx.org/en/download.html

Windows下安装

官网下载后,找一个纯英文路径,使用cmd命令之心nginx.exe文件运行即可,conf中默认监听的端口是80,启动后可以访问测试是否成功,成功页面如下:

Linux下载安装

官网 Linux 的 .tar.gz = 源码 ,解压后必须 ./configure && make && make install 才能出二进制,之后再改 nginx.conf 启动;

想要"解压改配置直接跑",得去拿静态编译的第三方二进制包

注意事项

如果成功启动,测试访问失败,请检查对应端口的防火墙上对应端口是否已经放行。

Linux下常用命令

cmd 复制代码
##在nginx的sbin目录下
./nginx --启动
./nginx -s stop --停止,直接停止
./nginx -s quit --安全退出,保证进程安全的情况下,一项一项停止
./nginx -s reload --重新加载配置文件
ps aux|grep nginx --查看进程
相关推荐
RisunJan2 小时前
Linux命令-scriptreplay(终端会话回放)
linux·运维·chrome
x²+(y-√³x²)²=13 小时前
Linux打包文件到Windows,文件/文件类型丢失
linux·运维·windows
世人万千丶3 小时前
去重插入与超限淘汰:ArkTS 实现鸿蒙搜索历史的 LIMIT 艺术
运维·服务器·学习·华为·harmonyos·鸿蒙
未来之窗软件服务3 小时前
企业自动化运营-电子合同预览-东方仙盟
运维·自动化·仙盟创梦ide·东方仙盟
Android系统攻城狮4 小时前
Linux PipeWire深度解析之pw_properties_iterate调用流程与实战(六十五)
linux·运维·服务器·音频进阶·pipewire音频进阶
研华科技Advantech4 小时前
案例 | 从离线巡检到在线看护:研华PHM解决方案赋能石油钻井平台智能运维
运维·人工智能·边缘计算
難釋懷4 小时前
Nginx主动健康检查
运维·nginx
ITyunwei09875 小时前
内存溢出报错,实战处理记录
运维·服务器·企业微信
Elastic 中国社区官方博客5 小时前
你的 AI agent 不需要你的 API 密钥:使用 OAuth 2.1 对 Elasticsearch MCP 服务器进行身份验证
大数据·运维·人工智能·elasticsearch·搜索引擎·全文检索
FreeTinker5 小时前
AP AC组网中的远程运维挑战及内网穿透技术应用分析
运维