Nginx实现反向代理

一 什么是nginx,他的作用是什么?

Nginx 是高性能的 HTTP 和反向代理的服务器,处理高并发能力是十分强大的,能经受高负 载的考验,有报告表明能支持高达 50,000 个并发连接数.

二:什么是反向代理,什么是正向代理?

正向代理:需要在客户端配置代理服务器进行指定网站访问 

Nginx实现反向代理

 反向代理:暴露的是代理服务器地址,隐藏了真实服务器 IP 地址

  1. Nginx实现反向代理

三如何在配置反向代理呢

 我么需要在Linux上安装nginx和我们的tomcat,如果你有服务区就更好了.

 tomcat安装是需要我们的Java环境的,没有的可以先装一下jdk.

案例一:打开浏览器,在浏览器地址栏输入地址 www.ssl.com,跳转到 liunx 系统 tomcat 主页 面中

  • 第一步 在 windows 系统的 host 文件进行域名和 ip 对应关系的配置 
  • Nginx实现反向代理
  • 在 nginx 进行请求转发的配置(反向代理配置) 
  • Nginx实现反向代理
  •  

Nginx实现反向代理

 案例二:使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中 nginx 监听端口为 9001

访问 http://192.168.17.129:9001/edu/ 直接跳转到 127.0.0.1:8080 访问 http:// 192.168.17.129:9001/vod/ 直接跳转到 127.0.0.1:8081 

  • 我们需要连个tomcat服务器而且端口不同,一个为8080,一个为8081,修改tomcat的配置文件,修改端口信息,以启动两个服务器冲突爆错.
  • 在连个tomcat的webapps的目录中创建文件夹,然后放入我们的html文件,为我么的测试使用.
  • 配置我们的nginx,实现我们的反向代理的功能.

Nginx实现反向代理

 修改tomcat的配置文件:

Nginx实现反向代理

 Nginx实现反向代理

Nginx实现反向代理

 nginx的配置

Nginx实现反向代理

  1、= :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配 成功,就停止继续向下搜索并立即处理该请求。 
  2、~:用于表示 uri 包含正则表达式,并且区分大小写。 
  3、~*:用于表示 uri 包含正则表达式,并且不区分大小写。 
  4、^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字 符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location 块中的正则 uri 和请求字符串做匹配。 
  注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~* 标识。