Nginx总结

目录

Nginx介绍

Nginx的作用

        反向代理

                项目架构

                实战:访问nginx服务器反向代理到另一台虚拟机上的tomcat服务器

        负载均衡

                项目架构

                实战:访问nginx服务器,是否反向代理到集群中的任意一台tomcat服务器,停止一台tomcat服务器,再次访问nginx服务器,是否还能正常访问

        动静分离

                项目架构:

                实战:在nginx服务器中编写html,访问nginx服务器中的静态资源


部分图片来自百战程序员 

Nginx介绍

Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。Nginx 专为性能优化而开发,使用异步非阻塞事件驱动模型

常见服务器

  • Apache
  • Tomcat

Nginx总结_第1张图片

举个栗子

没有Nginx的情况

Nginx总结_第2张图片

有了Nginx的话

Nginx总结_第3张图片

Nginx的作用

        反向代理

正向代理

是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。正向代理的典型用途是为在防火墙内的局域网客户端提供访问internet的途径。正向代理一般是在客户端设置代理服务器,访问目标服务器,通过代理服务器转发请求,最终访问到目标服务器(类似梯子)

反向代理

反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源,反向代理服务器负责将请求转发给目标服务器。用户不需要知道目标服务器的地址,也无须在用户端作任何设定(如果资源紧张,web服务器可能都在内网,可以通过反向代理的功能,访问反向代理服务器,反向代理服务器将请求转发给web服务器)

正向和反向的区别:

正向代理帮助客户端访问服务器

反向代理帮助服务器服务

                项目架构

Nginx总结_第4张图片

                实战:访问nginx服务器反向代理到另一台虚拟机上的tomcat服务器

地址前面需要添加协议,否则会报错

1、启动tomcat服务器

Nginx总结_第5张图片

2、修改nginx服务器的配置文件nginx.conf,在http块中添加如下代码Nginx总结_第6张图片

3、运行nginx服务器,访问192.168.138.101,即可跳转到tomcat页面

Nginx总结_第7张图片

        负载均衡

Nginx负载均衡是基于反向代理去实现的,通过在nginx.conf文件中定义服务器集群,然后再反向代理这个集群即可

                项目架构

Nginx总结_第8张图片

                实战:访问nginx服务器,是否反向代理到集群中的任意一台tomcat服务器,停止一台tomcat服务器,再次访问nginx服务器,是否还能正常访问

1、定义服务器集群

Nginx总结_第9张图片

2、反向代理服务器集群

Nginx总结_第10张图片

3、运行nginx服务器,访问192.168.138.101,会跳转到tomcat页面

Nginx总结_第11张图片

4、关闭一台tomcat再次访问查看是否可以访问成功,如果访问成功代表负载均衡配置成功

Nginx总结_第12张图片

Nginx总结_第13张图片

        动静分离

简单的来说动静分离就是将动态资源的请求让tomcat进行处理,静态资源的请求交给nginx处理,如对数据库进行操作,servlet,jsp就让其访问tomcat服务器,如照片、html、css等静态资源就让其访问nginx服务器

                项目架构:

Nginx总结_第14张图片

                实战:在nginx服务器中编写html,访问nginx服务器中的静态资源

1、修改nginx.conf文件 

Nginx总结_第15张图片

 2、访问nginx服务器,即可跳转到默认首页

Nginx总结_第16张图片

 3、在以后得开发中我们就可以将静态资源放在nginx服务器中,通过nginx.conf文件定义静态资源的访问路径,动态资源放到tomcat中,通过nginx服务器的反向代理功能实现访问动态资源,这样就实现了动静分离

你可能感兴趣的:(nginx,运维,服务器,负载均衡,linux)