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 --查看进程
相关推荐
I'm Jie3 小时前
Rhost v2.0.0 版本发布!!!不止 SSH 终端,内置 AI Agent 支持自然语言操作远程服务器
运维·服务器·rust·开源·ssh·tauri·finalshell
海宇服务3 小时前
零信任架构实战:基于海宇公安二要素认证即时版构建自动化跨境个人额度申报实名网关
运维·人工智能·架构·自动化
沙老师4 小时前
linux比windows死板的地方
linux·运维·windows
H.莓飛4 小时前
【Linux】进程的创建与终止
linux·运维·服务器·c语言·visual studio
研发小能4 小时前
DevOps 工具链选型:一体化平台,还是把单点工具拼起来?
运维·研发效能·devops·嘉为蓝鲸
wespaul4 小时前
VeapAI 自然语言操作实战|第 08 篇:治理层——审计、指标、评估与权限
运维·网络·数据库
Sayai4 小时前
Kafka 2.8→3.9.1 跨大版本升级实战:ZooKeeper 同步升级、数据目录迁移与回滚预案全流程
大数据·运维·分布式·zookeeper·kafka
chenxy024 小时前
国产加速卡-应知应会
linux·运维·服务器
HackTwoHub4 小时前
免 Root 安卓渗透工具 Stryker|把 Kali 装进手机!随身无线渗透工作站,内置 Nmap/Nuclei/Metasploit 全套武器库
android·linux·运维·人工智能·web安全·macos·智能手机
data analyse 4565 小时前
页面卸载时埋点上报总丢失?sendBeacon 上报与补偿方案
大数据·运维·服务器·前端·数据库·人工智能·数据分析