建站干货:动静分离,让网页访问速度提升几个level。

建站后,随着内容的不断丰富,各种文字、图片、脚本的增加,如果没有妥当的处理方式,网页访问速度会逐渐降低。在这个追求时效的信息快时代,网页访问者的耐心正在降低。

据研究表明,用户对打开速度2秒以下的网页表示满意,而其能够忍受的最长等待时间是6~8秒。而8秒作为一个临界值,如果你的网站打开速度超过8秒,那么很可能,大部分访问者会因此离你而去。相关数据显示,如果网页加载时间超过12秒,99%以上的访问者会关闭页面,不再等待。

那么今天美橙将给大家带来网页提速的新招,即动静分离。

动静分离,那么什么动态的,什么是静态的呢?

访问网页的时候,我们总会发现浏览器会加载各种各样的文件,有html文件,有css样式表,有js脚本,还有图片,还有流媒体等各种文件,这些其实就是静态的文件,放在服务器上,无须动态生成的文件那么就是静态文件。那么什么是动态文件呢?例如java写的jsp文件,需要通过编译器进行编译成字节码文件,然后在java虚拟机上运行,运行之后,返回给客户端一个响应,有的时候,还需要到数据库中取出数据,那么这种需要经过编译的文件就称之为动态文件

动态文件的处理比静态文件的处理速度要慢N倍,慢在啥地方呢?首先,动态文件需要编译,耗费时间,动态文件要去连接数据库,耗费时间,动态文件需要组织成http响应,耗费时间,根据java的流程,那么就是根据url,找到jsp文件,将jsp文件转换成servlet文件,然后形成类文件,然后在jvm上运行,jvm可能还要加载额外的类文件,然后组成成响应返回给servlet,然后再返回给客户端。

在使用动静分离的时候,一般使用的模型如下所示:

在使用动静分离的时候,需要将一些静态的文件和动态的文件分离开来,从而使用nginx来处理静态请求,而使用tomcat来处理动态的请求,从而会大大的提高处理速度,为啥?

nginx和httpd是专门用来处理静态文件的,效率极高,并且由nginx直接响应,减少了向后端转发的过程;将动态内容和静态内容进行分离,可以提高资源利用率,nginx的性能得到发挥,也让tomcat不会那么繁忙,动态服务器机器耗费性能,例如在java中的各种方法区对象的回收,堆内存的回收等。

构建动静分离的环境

要想构建动静分离的环境,那么就需要安装nginx,安装jdk,然后安装tomcat,具体的步骤如下:

编译安装nginx:

安装jdk:

配置java环境变量:

[root@mogilenode3 server]# echo \"export JAVA_HOME=/usr/java/latest\">/etc/profile.d/java.sh

[root@mogilenode3 server]# echo \"export PATH=$JAVA_HOME/bin:$PATH\">>/etc/profile.d/java.sh

[root@mogilenode3 server]# cat /etc/profile.d/java.sh

export JAVA_HOME=/usr/java/latest

export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

测试jdk及环境变量是否成功:

安装tomcat:

[root@mogilenode3 server]# tar -xf apache-tomcat-8.5.20.tar.gz -C /usr/local/

l[root@mogilenode3 server]# ln -sv /usr/local/apache-tomcat-8.5.20/ /usr/local/tomcat

`/usr/local/tomcat\' -> `/usr/local/apache-tomcat-8.5.20/\'

配置tomcat环境变量:

[root@mogilenode3local]# vim /etc/profile.d/tomcat.sh

[root@mogilenode3local]# cat !$

cat/etc/profile.d/tomcat.sh

exportCATALINA_HOME=/usr/local/tomcat

exportPATH=$CATALINA_HOME/bin:$PATH

测试tomcat是否安装成功:

[root@mogilenode3 ~]# netstat -tnlp|grep java(注意浏览器访问的时候,添加端口号来进行访问)

tcp 0 0 :::8080 :::* LISTEN 1125/java

tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 1125/java

tcp 0 0 :::8009 :::* LISTEN 1125/java

创建动态文件

根据java的目录层次结构,写一个基本的页面,如下:

修改tomcat的配置文件server.xml(添加一个虚拟主机,主机名为www.kel.com,,默认路径为webapps下面的kel目录):

<Host name=\"www.kel.com\" appBase=\"webapps\" unpackWARS=\"true\" autoDeploy=\"true\">

<Context path=\"\" docBase=\"kel\" reloadable=\"true\" />

</Host>

测试访问:

[root@mogilenode3conf]# grep \"www.kel.com\" /etc/hosts (设置主机名解析)

192.168.1.238 www.kel.com

[root@mogilenode3conf]# curl http://www.kel.com:8080 (使用curl进行访问)

<html>

<head>

<title>JAVA PAGE</title>

</head>

<body>

Hello,World

</body>

</html>

配置nginx

配置主机名解析:

[root@mogilenode2nginx]# grep \"www.kel.com\" /etc/hosts

192.168.1.237 www.kel.com

[root@mogilenode2conf]# ls -l nginx.conf(修改nginx配置文件,将动态请求也就是文件后缀为jsp或者do的请求转发到tomcat上,由于是虚拟主机,所以url中必须写上主机名,静态页面在nginx上处理,静态页面在html路经下)

-rw-r--r-- 1 root root 2727 Sep 20 15:09 nginx.conf

server_name www.kel.com;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {

root html;

index index.html index.htm;

}

location ~* \\.(jsp|do)$ {

proxy_passhttp://www.kel.com:8080;

}

上传静态文件到nginx的html目录中,用来测试静态文件的访问:

[root@mogilenode2 nginx]# ls -l html/1.jpg

-rw-r--r-- 1 root root 25854 Sep 20 15:13 html/1.jpg

访问nginx服务器测试静态文件访问:

访问nginx服务器,测试动态页面访问:

总结

总体上来说,动静分离还是比较简单的,主要让前端的代理服务器直接响应静态请求,让前端的代理服务器转发动态请求到后端的tomcat服务器即可。

注意上面的是实验环境,对于tomcat的运行的用户是直接的root用户,在生产中,必须修改为其他不能登录的用户,例如tomcat用户。

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/46423.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
优化家优化家订阅用户
上一篇 2022年7月3日 00:08
下一篇 2022年7月3日 00:08

相关推荐

  • 企业网站为什么一定要做优化,有什么好处?剖析企业网站优化。

    如今,随着网络信息的快速发展,越来越多的公司和企业开始投入互联网的战场,在线下的竞争逐渐转变为在线上,几乎所有企业都开始拥有自己的网站来推广自己的品牌和产品。当然,促销需要技术手段。对于每个人来说,…

    2022年6月30日
    0119
  • 百度关键词如何刷指数刷指数策略是什么。

    百度关键词刷指数对自己网站有什么好处?其实就是提高网站的百度权重。一方面需求是为了让数据好看,比如交换友情链接。人家不懂,就会觉得分量好到可以换。还有就是企业和一些品牌的需求,但是一般来说百度关键词…

    2022年9月10日
    0112
  • 自适应网页制作时导航设计应注意什么。

    随着互联网的发展越来越快,更多形式的网站建设也随时代而来,对于自适应网页制作来说,其中导航的设计也是非常重要的,因为导航的实用性决定用户留存率,那么,实用的导航如何制作呢?下面就带大家一起来了解一下…

    2022年10月18日
    030
  • 我来教你SEO网站建设前需要注意的优化点。

    现在很多网站在建设的时候,都会考虑到后期如果推广的需要的优化点,因为优化它能很好的将您的网站出现在用户面前,如果我们不注意这块的话,在网站建设之后,再去操作seo的话,就显示有点滞后,所以我们一定要提前布局!…

    2023年6月29日
    04
  • 如何提高淘宝网的流量。

    淘宝是最简单的网上购物方式,但是很多商家往往不知道如何提高自己的店铺流量。 一、坚持贸易通的上线时间 无论你是全职网商还是刚创业,既然要用阿里做生意,就要保持足够的在线时间,即使没有时间和客户交流,也…

    2022年9月10日
    068
  • 搞互联网吧,线下生意真不是人干的

    应该是正月初几里吧,好巧不巧的被迫去参加了一下我们初中同学的聚会。其实毕业这么多年,无论大学,高中还是中学,类似的聚会我都是能躲则躲,有特别想见的同学也都是私下单独见面。至于原因,听我讲完你们就知道…

    2023年3月12日 运营推广
    01
  • 商城网站在搭建时需注意哪些小技巧。

    随着科技的不断发展和进步,学会做电商的人们也越来愈多,随之商城网站也越来越多,但做商城网站并不是一件容易的事,那么在进行商城网站建设时又该注意哪些技巧呢?下面一起来了解一下。   一、是用户的体验  …

    2022年10月18日
    022
  • 分享5G时代营销怎么玩。

    2019年10月18日,以“一屏一世界”为主题的2019 vivo品牌广告营销大会在上海圆满举行。vivo携手全国多家广告主、媒体及合作伙伴共同探讨5G时代的广告营销趋势,传递“一屏一世界”的移动营销布局。 大会现场人气火爆,…

    2022年12月14日 创业分享
    00

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息