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 --查看进程
相关推荐
沉默de荒年 对月影成2 小时前
机房断电搞崩服务器 | 人大金仓 V8 全量备份跨实例完整恢复实录
运维·服务器·oracle
其实防守也摸鱼4 小时前
KMP全栈开发:从Android到AI Agent的技术演进与实践
android·运维·网络·人工智能·学习·安全·macos
冰封之寂12 小时前
Docker 资源管理终极指南:CPU、内存与 IO 的精细化控制
linux·运维·服务器·docker·云计算
小柯南敲键盘13 小时前
图片翻译API接入与自动化实现指南
运维·python·自动化
云计算磊哥@14 小时前
运维开发宝典058-大型网站nginx服务器管理全集4
服务器·nginx·运维开发
9523614 小时前
Docker - 基础
运维·后端·docker·容器
Promise微笑14 小时前
智能激光清障仪选型指南:高效运维与安全保障的关键考量
运维·安全
Code_Ignis14 小时前
docker国内可用源(持续维护)
运维·docker·容器
一叶龙洲15 小时前
向日葵远程Ubuntu,支持隐私屏
linux·运维·ubuntu