目录
一、主要功能
1、反向代理
(目的:实现负载均衡)
[参考链接:https://cloud.tencent.com/developer/article/141845]
①直接通信:浏览器发出请求,服务器进行响应,中间没有其他对象。
②正向代理:
浏览器无法访问服务器,但代理服务器可以访问。因此代理服务器代替浏览器发出请求,并将服务器的响应返回给浏览器,这时的代理服务器就是正向代理。
浏览器可以感知到代理过程
③反向代理:
真正的服务器被隐藏,浏览器发送请求获取响应,以为自己访问的是真正的WEB服务器,其实访问的是代理服务器。这时的代理服务器就是反向代理。
浏览器不能感知到代理过程。
总结:
- 正向代理是“代理客户端”,主要目的是解决访问限制等问题,此过程中,WEB服务器并不知道真正的客户端是谁;
- 反向代理是“代理服务器”,主要目的是解决负载均衡等问题,此过程中,客户端并不知道真正的WEB服务器是谁。
2、负载均衡
为了解决访问量过大的问题,架设了多台服务器。
为了让用户通过唯一的域名访问网页,因此使用Nginx做反向代理服务器。
负载均衡的三种方式:
- 轮询:请求依次被Nginx转发给不同的服务器处理
- 加权轮询(权重模式):Nginx会将更多的请求转发给权重大的服务器
- ipHash:对发起请求的ip进行Hash操作,保证同一ip的请求被同一服务器处理,可以解决session共享问题。(如果服务器宕机导致数据丢失,因此实际使用Redis实现session共享)
3、动静分离
将动态内容(如通过 PHP、Java 生成的页面)和静态内容(如图片、CSS、JavaScript 文件)分开处理,以提高网站性能和效率。
-
动态请求:指需要经过后端服务器处理的请求,一般涉及数据库查询、业务逻辑处理等,比较消耗资源。
-
静态请求:指不需要经过后端服务器处理,直接返回给用户的静态文件,如图片、样式表、脚本等。这些文件可以直接由 Nginx 返回,无需额外处理。
通过动静分离,Nginx 可以针对静态内容做缓存、压缩、分发等优化,减轻后端服务器的负担,提高网站的访问速度和并发能力。同时,动静分离也有利于横向扩展架构,提高整个系统的可伸缩性和稳定性。
二、Windows下安装Nginx
1、访问nginx: download下载稳定版即可
2、解压压缩包到任一目录(路径不带中文)
3、双击nginx.exe;或地址栏cmd启动命令行,输入nginx.exe
4、浏览器地址栏访问localhost:80
Nginx默认是80端口,通过修改conf目录下的nginx.conf文件可以修改端口。
5、见到下图说明nginx启动成功
三、Windows下Nginx常用命令
在Nginx目录下打开cmd,键入以下命令即可。
- nginx.exe 启动Nginx
- nginx.exe -s stop 强制停止Nginx
- nginx.exe -s quit 安全退出Nginx
- nginx.exe -s reload 重新加载配置文件(修改配置文件后执行此命令使修改生效)
ps:不加“.exe”也可以
四、反向代理与负载均衡配置
通过修改nginx.conf文件进行配置。
weight相同就是简单的轮询,不同就是加权轮询,weight比值就是Nginx转发请求比例。