掘金 后端 ( ) • 2022-08-12 15:20

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第17天,点击查看活动详情

每日英语:

After all,tomorrow is another day!

翻译:毕竟,明天又是新的一天!-《乱世佳人》

1.动静分离架构

1.1 动静分离架构分析

我们打开京东商城,搜索电脑,查看网络可以发现响应页面后,页面又会发起很多请求,还没有查看多少信息就已经有454个请求发出了,而且大多数都是图片,一个人请求尚且如此,人多了对后端造成的压力是非比寻常的,该如何降低静态资源对服务器的压力呢?

调用京东商场动态分离架构分析.jpg 项目完成之后,项目上线如果所有请求都需要经过Tomcat,并发量很大的时候,对项目而言将是灭顶之灾,电商项目中一个请求返回的页面往往会再次发起很多请求,而绝大多数都是图片或者是css样式、js等静态资源,如果这些静态资源都去查询Tomcat,Tomcat的压力会增加数十倍甚至更高,这时候我们需要采用动静分离的策略:

1、所有静态资源,经过Nginx,Nginx直接从指定磁盘中获取文件,然后IO输出给用户
2、如果是需要查询数据库数据的请求,就路由到Tomcat集群中,让Tomcat处理,并将结果响应给用户

1.2 门户静态站点发布具体操作步骤

修改自己本地文件C:\Windows\System32\drivers\etc\HOSTS文件,将案例演示域名www.xzshop.com解析到192.168.19.130(自己linux服务器的ip,也就是之前你部署openresty的那台机器)服务器,在HOSTS文件中添加如下配置即可:

192.168.19.130 www.xzshop.com

提前准备好的前端资料中的front上传到/usr/local/xiaozhong/web/static目录下,再修改/usr/local/openresty/nginx/conf/nginx.conf,配置如下:

#门户网站发布 www.xzshop.com
    server {
        listen       80;
        server_name  www.xzshop.com;

        location / {
                root /usr/local/xiaozhong/web/static/frant;
        }
    }

上面的配置好后,重新加载nginx

nginx -s reload

重新加载nginx后,在浏览器打开http://www.xzshop.com/,即可看到你部署的门户页面。

总结:本篇主要介绍了一下动态分离架构的分析,还有门户静态站点发布的具体操作,大家可以自己动手试一下,还是挺有意思的。