浅尝Nginx

来源:互联网 发布:flower dance知乎 编辑:程序博客网 时间:2024/06/06 20:06

流程

浏览器向Nginx发送请求,Nginx根据配置文件,请求转发到tomcat集群中的服务,返回结果给Nginx,再由Nginx返回给浏览器。(实现反向代理、负载均衡)

  • 场景
    • 反向代理
    • 负载均衡
    • 页面缓存
    • 静态文件数据响应

测试解析

1.在eclipse中新建NginxPro项目,创建test.jsp页面,内容如下:

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Insert title here</title></head><body>    <%        out.println(new java.util.Date().toString());        System.out.println("在控制台输出我");    %></body></html>

2.在tomcat中起两个服务器,部署同一个项目,并打开(1.两个服务器的端口会冲突,需要修改端口;2.80端口可能会冲突;测试能否同时访问不同的服务器)

3.在2基础上,开始使用Nginx(建议使用cmd打开,而不用双击,可以查看Nginx的状态);在Nginx的conf文件夹中打开配置文件nginx.conf

配置Nginx中包含的server(此时用的是8180和8280两个服务器)

    upstream tomcatserver-tomcat-proxy {    #upstream bakend {        server 127.0.0.1:8180  weight=2;        server 127.0.0.1:8280  weight=2;    }

配置Nginx中的缓存

#cache setting     proxy_cache_path C:\\TEMP\\cache keys_zone=one:20m levels=1:2 inactive=60m;    proxy_cache_valid 200 304 302 24h;

配置Nginx中的访问地址、端口和字符编码(这里80产生了冲突,改为81)

server {        listen       81;        server_name  localhost.org;        charset utf-8;        }

配置静态文件数据响应,可以直接访问root对应目录下的aaa文件夹下的内容。(用于网站中的静态内容,例如图片等)

server {        location ^~ /aaa/ {                root C:\\TEMP\\;                                            expires  1d;                }        }

4.测试:访问http://localhost:81/NginxPro/test.jsp就可以由nginx自动地帮你分配到配置文件下配置的server(要先注释掉缓存配置)

5.小记:tomcat配置文件解析

<Context docBase="NginxPro" path="/NginxPro" reloadable="true" source="org.eclipse.jst.jee.server:NginxPro"/></Host>

docbase指的是该项目,而path则是访问地址中的NginxPro,想要多个相同的服务进行负载均衡就必须使path的值保持一致,虽然是不同项目,但是通过path使访问的地址保持一致,地址栏输入都应该是/NginxPro/test.jsp(清空path可以直接写/test.jsp)

原创粉丝点击