- nginx实现动静分离
- 什么是动静分离
- 为什么要做动静分离?
- nginx实现动静分离
- 服务安装
- 服务端配置
动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。
动静分离简单的概括就是:动态文件与静态文件的分离
为什么要做动静分离?在我们的软件开发中,有些请求是需要后台处理的(如.jsp,.do等等),有些请求时不需要经过后台处理的(如css、html、jpg、js等文件),这些不需要经过后台处理的文件成为静态文件,否则为动态文件。因此我们后台处理应忽略静态文件。但这样后台的请求次数就明显增多了,在我们对资源的响应速度有要求的时候,就应使用动静分离的策略去解决。
动静分离将网站静态资源(HTML,Javascript,CSS,img等文件)与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问。这里我们将静态资源放到nginx中,动态资源转发到tomcat服务器中。
动静分离的原理很简单,通过location对请求url进行匹配即可,具体配置如下:
nginx实现动静分离| 主机名 | IP | 服务 |
|---|---|---|
| nginx | 192.168.100.150 | nginx |
| client1 | 192.168.100.110 | httpd |
| client2 | 192.168.100.120 | lnmp |
nginx安装:nginx
lnmp安装:lnmp
httpd安装:httpd
服务端配置
[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
......
upstream static {
server 192.168.100.110;
}
upstream dynamic {
server 192.168.100.120;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://static;
}
location ~ .php$ {
proxy_pass http://dynamic;
}
[root@nginx ~]# nginx -s reload
访问网页进行测试



