1.什么是动静分离?

将动态请求和静态请求区分访问

动静分离的优点动静分离之后,即使动态服务不可用,也不会影响静态资源,反之,也是

2.为什么要做动静分离?

动态处理要用到Tomcat,而Tomcat程序本身是用来处理jsp代码的,但也能处理静态资源;

由于Tomcat本身处理静态资源效率不高,还会带来资源的开销,所以我们进行动静分离,用Nginx去处理静态资源

3。如何实现动静分离?

可以根据Nginx客户端请求的url来判断请求的资源类型,用location进行匹配,将不同的资源转发给不同的服务端

4.单机实现动静分离

[root@web01 ~]# yum install java tomcat -y 		#因为tomcat是Java程序,所以要安装java
[root@web01 ~]# mkdir /usr/share/tomcat/webapps/ROOT	#tomcat的默认站点,根目录
[root@web01 ~]#vi /usr/share/tomcat/webapps/ROOT/index.jsp	#上传java代码
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
	<html>
	  <head>
		<title>Nginx+Tomcat</title>
	  </head>
	  <body>
		  <%
			Random rand = new Random();
			out.println("<h2>动态资源</h2>");
			out.println(rand.nextInt(99)+100);
		%>
		<h2>静态图片</h2>
		<img src="nginx.png" />
	  </body>
	</html>
	
[root@web01 ~]# wget -O /usr/share/tomcat/webapps/ROOT/nginx.png http://nginx.org/nginx.png		#下载nginx.png图片到指定文件下

[root@web01 ~]# systemctl start tomcat	#启动tomcat

配置Nginx

#tomcat监听在8080端口上;

[root@web01 conf.d]# cat ds.oldxu.com.conf 
server {
	listen 80;
	server_name ds.oldxu.com;

	location / {
		proxy_pass http://127.0.0.1:8080;
	}
	location ~* \.(png|gif|jpg|mp4)$ {
		root /images;
		expires 1d;
	}
}

5.集群实现动静分离

在负载均衡上配置

[root@lb01 conf.d]# cat  proxy_ds.oldxu.com.conf

upstream java {
	server 172.16.1.7:8080;
} 
upstream static {
	server 172.16.1.8:80;
}
server {
	listen 80;
	server_name ds.oldxu.com;
	location / {
		proxy_pass http://java;
		include proxy_params;
	}

	location ~* \.(png|gif|jpeg)$ {
		proxy_pass http://static;
		expires 2d;
		include proxy_params;
	}
}

在web01上配置tomcat

#在web01上关闭nginx,只开启tomcat

[root@web01 conf.d]# cat ds.oldxu.com.conf 
server {
	listen 80;
	server_name ds.oldxu.com;

	location / {
		proxy_pass http://127.0.0.1:8080;
	}
}

在web02上配置

server {
        listen 80;
        server_name ds.oldyang.com;

        location / {
                proxy_pass http://127.0.0.1:80;
        }

        location ~* \.(png|gif|jpg|mp4)$ {
                root /images;
        }
}

posted on 2021-12-24 15:57  杨港澳  阅读(47)  评论(0)    收藏  举报