动静分离

1.概念

动静分离,通过中间件将动态请求和静态请求进行分离;可以减少不必要的请求消耗,同时能减少请求的延时。
通过中间件将动态请求和静态请求分离,逻辑图如下:

2.web01配置动静分离

#配置
[root@web01 /code]# vim /etc/nginx/conf.d/linux.blog.com.conf 
server {
	listen 80;
	server_name linux.blog.com;
	root /code/wordpress;

	location / {
		index index.php;
	}

	location ~* \.(jpg|png)$ {
		root /code/pic;
	}

	location ~* \.php$ {
		fastcgi_pass 127.0.0.1:9000;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
		include fastcgi_params;
	}
}

#创建目录
[root@web01 /code]# mkdir /code/pic
#做软连接
[root@web01 /code]# ln -s /code/wordpress/wp-content /code/pic

3.web03配置动态资源

#部署tomcat
[root@web03 ~]# yum install -y tomcat
[root@web03 ~]# mkdir /usr/share/tomcat/webapps/ROOT
[root@web03 ~]# vim /usr/share/tomcat/webapps/ROOT/java_test.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<HTML>
    <HEAD>
        <TITLE>曾老湿JSP Page</TITLE>
    </HEAD>
    <BODY>
        <%
            Random rand = new Random();
            out.println("<h1>曾老湿随机数:<h1>");
            out.println(rand.nextInt(99)+100);
        %>
    </BODY>
</HTML>

[root@web03 ~]# systemctl start tomcat
[root@web03 ~]# netstat -lntp
tcp6       0      0 :::8009                 :::*                    LISTEN      34369/java
tcp6       0      0 :::8080                 :::*                    LISTEN      34369/java
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      34369/java

4.lb01配置负载均衡

[root@lb01 ~]# vim /etc/nginx/conf.d/linux.djfenli.com.conf
upstream jt {
	server 172.16.1.7:80;
}

upstream dt {
    server 172.16.1.9:8080;
}

server {
	listen 80;
	server_name linux.djfenli.com;

	location ~* \.gif$ {
		proxy_pass http://jt;
		include proxy_params;
	}

	location ~* \.jsp$ {
		proxy_pass http://dt;
		include proxy_params;
	}	
}

5.检查配置文件并重启

[root@lb01 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@lb01 ~]# systemctl restart nginx

6.配置hosts访问

10.0.0.4 linux.djfenli.com

7.多台机器做动静分离

[root@lb01 ~]# vim /etc/nginx/conf.d/linux.djfenli.com.conf 
upstream jt {
	server 172.16.1.7:80;
	server 172.16.1.8:80;
}

upstream dt {
    server 172.16.1.9:8080;
}

server {
	listen 80;
	server_name linux.djfenli.com;

	location ~* \.(gif|png|jpg)$ {
		proxy_pass http://jt;
		include proxy_params;
	}

	location ~* \.jsp$ {
		proxy_pass http://dt;
		include proxy_params;
	}	
}

8.合并动静数据页面

1)配置负载均衡nginx

[root@lb01 ~]# cat /etc/nginx/conf.d/linux.djfenli.com.conf 
upstream jt {
	server 172.16.1.7:80;
}

upstream dt {
    server 172.16.1.9:8080;
}

server {
	listen 80;
	server_name linux.djfenli.com;
	root /code/dj;
	index index.html;

	location ~* \.gif$ {
		proxy_pass http://jt;
		include proxy_params;
	}

	location ~* \.jsp$ {
		proxy_pass http://dt;
		include proxy_params;
	}	
}

2)配置站点目录

[root@lb01 ~]# mkdir /code/dj
[root@lb01 ~]# cat /code/dj/index.html 
<html lang="en">
<head>
        <meta charset="UTF-8" />
        <title>测试ajax和跨域访问</title>
        <script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
</head>
<script type="text/javascript">
$(document).ready(function(){
        $.ajax({
        type: "GET",
        url: "http://linux.djfenli.com/java_test.jsp",
        success: function(data){
                $("#get_data").html(data)
        },
        error: function() {
                alert("哎呦喂,失败了,回去检查你服务去~");
        }
        });
});
</script>
        <body>
                <h1>测试动静分离</h1>
                <img src="http://linux.djfenli.com/1.gif">
                <div id="get_data"></div>
        </body>
</html>

3)重启访问

[root@lb01 ~]# systemctl restart nginx

#关闭静态资源或者动态资源,互不影响
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值