生活随笔
收集整理的这篇文章主要介绍了
Nginx动静分离配置
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
Nginx动静分离
一、动静分离介绍
动静分离,通过中间件将动态请求和静态请求进行分离
通过中间件将动态请求和静态请求分离,可以减少不必要的请求消耗,同时能减少请求的延时。
通过中间件将动态请求和静态请求分离,逻辑图如下:
1.单台机器动静分离
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NaockIvC-1623251222252)(img/image-20201204141634031.png)]
[root@web01 ~
]
server
{listen
80;server_name linux.wp.com
;location /
{root /code/wordpress
;index index.php
;}location ~*
\.
(jpg
|png
|gif
)$
{root /code/wordpress
;}location ~*
\.php$
{fastcgi_pass
127.0.0.1:9000
;fastcgi_param SCRIPT_FILENAME /code/wordpress/
$fastcgi_script_name;include fastcgi_params
;}
}
2.多台机器的动静分离
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8q8hbq8E-1623251222260)(img/image-20201207133847547.png)]
主机作用服务IP
| lb01 | 负载均衡 | nginx | 10.0.0.4 |
| web01 | 静态资源 | nginx | 10.0.0.7 |
| web02 | 动态资源 | tomcat | 10.0.0.8 |
[root@web01 ~
]
server
{listen
80;server_name linux.dj.com
;location ~*
\.
(jpg
|png
|mp4
|gif
)$
{root /code/picture
;}
}
[root@web01 ~
]
[root@web01 ~
]
[root@web01 ~
]
[root@web01 picture
]
[root@web01 picture
]
total
1756
-rw-r--r--.
1 root root
156617 Dec
7 08:54
1.jpg
-rw-r--r--.
1 root root
47542 Dec
7 08:54
2.jpg
-rw-r--r--.
1 root root
1586108 Dec
7 08:54
3.jpg配置hosts
10.0.0.7 linux.dj.com请求静态资源http://linux.dj.com/1.jpg
[root@web02 ~
]
[root@web02 ~
]
[root@web02 webapps
]
[root@web02 webapps
]
<%@ page
language="java" import="java.util.*" pageEncoding="utf-8"%
>
<HTML
><HEAD
><TITLE
>测试动态资源
</TITLE
></HEAD
><BODY
><%Random rand
= new Random
();out.println
("<h1>随机数:<h1>");out.println
(rand.nextInt
(99)+100
);%
></BODY
>
</HTML
>
[root@web02 ~
]配置hosts
10.0.0.8 linux.dj.com访问http://linux.dj.com:8080/java_test.jsp
[root@lb01 ~
]
upstream dt
{server
10.0.0.8:8080
;
}upstream jt
{server
10.0.0.7
;
}server
{listen
80;server_name linux.dj.com
;location /
{root /code/dj
;index index.html
;}location ~*
\.
(jpg
|png
|gif
)$
{proxy_pass http://jt
;include proxy_params
;}location ~*
\.
(php
|jsp
)$
{proxy_pass http://dt
;include proxy_params
;}
}
[root@lb01 ~
]1)配置hosts
10.0.0.4 linux.dj.com
2)访问http://linux.dj.com/java_test.jsphttp://linux.dj.com/1.jpg
[root@lb01 ~
]
[root@lb01 ~
]
<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.dj.com/java_test.jsp",success: function
(data
){$("#get_data").html
(data
)},error:
function() {alert
("哎呦喂,失败了,回去检查你服务去~");}});
});
</script
><body
><h
1>测试动静分离
</h
1><img
src="http://linux.dj.com/1.jpg"><div
id="get_data"></div
></body
>
</html
>
[root@lb01 ~
]
结论:静态资源出现问题不影响动态资源,动态资源出问题不影响静态资源
二、nginx资源分离
主机IP功能
| lb01 | 10.0.0.4,172.16.1.4 | 负载均衡 |
| web01 | 172.16.1.7 | Android页面 |
| web02 | 172.16.1.8 | iPhone页面 |
| web03 | 172.16.1.9 | PC端页面 |
[root@web01 ~
]
server
{listen
80;server_name linux.sj.com
;charset utf8
;location /
{root /code/android
;index index.html
;}
}
[root@web01 ~
]
[root@web01 ~
]
[root@web01 ~
]
[root@web01 ~
]
配置hosts
10.0.0.7 linux.sj.com
[root@web02 ~
]
server
{listen
80;server_name linux.sj.com
;charset utf8
;location /
{root /code/iphone
;index index.html
;}
}
[root@web02 ~
]
[root@web02 ~
]
[root@web02 ~
]
[root@web02 ~
]
配置hosts
10.0.0.8 linux.sj.com
[root@web03 ~
]
server
{listen
80;server_name linux.sj.com
;charset utf8
;location /
{root /code/pc
;index index.html
;}
[root@web03 ~
]
[root@web03 ~
]
[root@web03 ~
]
[root@web02 ~
]
配置hosts
10.0.0.9 linux.sj.com
[root@lb01 ~
]
upstream android
{server
10.0.0.7
;
}upstream iphone
{server
10.0.0.8
;
}upstream pc
{server
10.0.0.9
;
}server
{listen
80;server_name linux.sj.com
;location /
{if ($http_user_agent ~*
"Android") { proxy_pass http://android
; }if ($http_user_agent ~*
"iPhone") { proxy_pass http://iphone
; }if ($http_user_agent ~*
"WOW64") { return 403; }proxy_pass http://pc
; include proxy_params
;}
}
[root@lb01 ~
]
10.0.0.4 linux.sj.com
http://linux.sj.com/
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ayyUHwF9-1623251222266)(img/image-20201207133935994.png)]
总结
以上是生活随笔为你收集整理的Nginx动静分离配置的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。