目录
Nginx介绍
Nginx的作用
反向代理
项目架构
实战:访问nginx服务器反向代理到另一台虚拟机上的tomcat服务器
负载均衡
项目架构
实战:访问nginx服务器,是否反向代理到集群中的任意一台tomcat服务器,停止一台tomcat服务器,再次访问nginx服务器,是否还能正常访问
动静分离
项目架构:
实战:在nginx服务器中编写html,访问nginx服务器中的静态资源
部分图片来自百战程序员
Nginx介绍
Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。Nginx 专为性能优化而开发,使用异步非阻塞事件驱动模型。
常见服务器
- Apache
- Tomcat
举个栗子
没有Nginx的情况
有了Nginx的话
Nginx的作用
反向代理
正向代理
是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。正向代理的典型用途是为在防火墙内的局域网客户端提供访问internet的途径。正向代理一般是在客户端设置代理服务器,访问目标服务器,通过代理服务器转发请求,最终访问到目标服务器。(类似梯子)
反向代理
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源,反向代理服务器负责将请求转发给目标服务器。用户不需要知道目标服务器的地址,也无须在用户端作任何设定。(如果资源紧张,web服务器可能都在内网,可以通过反向代理的功能,访问反向代理服务器,反向代理服务器将请求转发给web服务器)
正向和反向的区别:
正向代理帮助客户端访问服务器
反向代理帮助服务器服务
项目架构
实战:访问nginx服务器反向代理到另一台虚拟机上的tomcat服务器
地址前面需要添加协议,否则会报错
1、启动tomcat服务器
2、修改nginx服务器的配置文件nginx.conf,在http块中添加如下代码
3、运行nginx服务器,访问192.168.138.101,即可跳转到tomcat页面
负载均衡
Nginx负载均衡是基于反向代理去实现的,通过在nginx.conf文件中定义服务器集群,然后再反向代理这个集群即可
项目架构
实战:访问nginx服务器,是否反向代理到集群中的任意一台tomcat服务器,停止一台tomcat服务器,再次访问nginx服务器,是否还能正常访问
1、定义服务器集群
2、反向代理服务器集群
3、运行nginx服务器,访问192.168.138.101,会跳转到tomcat页面
4、关闭一台tomcat再次访问查看是否可以访问成功,如果访问成功代表负载均衡配置成功
动静分离
简单的来说动静分离就是将动态资源的请求让tomcat进行处理,静态资源的请求交给nginx处理,如对数据库进行操作,servlet,jsp就让其访问tomcat服务器,如照片、html、css等静态资源就让其访问nginx服务器
项目架构:
实战:在nginx服务器中编写html,访问nginx服务器中的静态资源
1、修改nginx.conf文件
2、访问nginx服务器,即可跳转到默认首页
3、在以后得开发中我们就可以将静态资源放在nginx服务器中,通过nginx.conf文件定义静态资源的访问路径,动态资源放到tomcat中,通过nginx服务器的反向代理功能实现访问动态资源,这样就实现了动静分离