广州总部电话:020-85564311

TOP

收起快捷

首页 > 关于途必 > 途必学院 > 如何提升网页访问速度,途必科技技术大牛教路:动静分离
如何提升网页访问速度,途必科技技术大牛教路:动静分离
发布日期:2017-09-22 09:11:26
浏览次数:
来源:广州网站建设

      当我们日常访问一个网站,如果能迅速地加载出来,浏览到想要的内容,这是网站的用户体验是否良好的一个重要标准,在网站建设当中,也会权衡考虑网站的加载速度来提升用户的浏览体验。网页的访问速度取决于硬件等外部因素,更重要的是网站建设过程中的网页设计、网页规划和技术的实现手段。今天,途必科技的技术大牛,就给大家说说网站建设网站搭建过程中,采用动静分离,能有效提高网页访问速度。

     那么问题来了,动静分离是什么?什么动态的?什么是静态的呢?访问网页的时候,我们总会发现浏览器会加载各种各样的文件,有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:

[root@mogilenode2 nginx-1.10.1]# ./configure –prefix=/usr/local/nginx –with-http_ssl_module –with-http_stub_status_module –with-pcre

[root@mogilenode2 nginx-1.10.1]# make && make install

[root@mogilenode2 ~]# /usr/local/nginx/sbin/nginx (启动nginx)

[root@mogilenode2 ~]# netstat -tnlp|grep nginx(查看监听端口,并且使用浏览器访问测试)

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      13933/nginx

如何提升网页访问速度,途必科技技术大牛教路:动静分离

安装jdk:

[root@mogilenode3 server]# rpm -ivh jdk-8u144-linux-x64.rpm

Preparing…                ########################################### [100%]

1:jdk1.8.0_144           ########################################### [100%]

Unpacking JAR files…

tools.jar…

plugin.jar…

javaws.jar…

deploy.jar…

rt.jar…

jsse.jar…

charsets.jar…

localedata.jar…

 

配置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@mogilenode3 local]# vim /etc/profile.d/tomcat.sh

[root@mogilenode3 local]# cat !$

cat /etc/profile.d/tomcat.sh

export CATALINA_HOME=/usr/local/tomcat

export PATH=$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的目录层次结构,写一个基本的页面,如下:

[root@mogilenode3 webapps]# mkdir kel

[root@mogilenode3 webapps]# cd kel

[root@mogilenode3 kel]# ls -l

total 0

[root@mogilenode3 kel]# mkdir {META-INF,WEB-INF,classes,lib}

[root@mogilenode3 kel]# vim index.jsp

[root@mogilenode3 kel]# cat index.jsp

<%@ page language=”java” %>

<%@ page import=”java.util.*” %>

<html>

<head>

<title>JAVA PAGE</title>

</head>

<body>

<% out.println(“Hello,World”); %>

</body>

</html>

[root@mogilenode3 kel]# ls -l

total 20

drwxr-xr-x 2 root root 4096 Sep 20 14:46 classes

-rw-r–r– 1 root root  201 Sep 20 14:46 index.jsp

drwxr-xr-x 2 root root 4096 Sep 20 14:46 lib

drwxr-xr-x 2 root root 4096 Sep 20 14:46 META-INF

drwxr-xr-x 2 root root 4096 Sep 20 14:46 WEB-INF

 

修改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@mogilenode3 conf]# grep “www.kel.com” /etc/hosts (设置主机名解析)

192.168.1.238 www.kel.com

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

<html>

<head>

<title>JAVA PAGE</title>

</head>

<body>

Hello,World

</body>

</html>

 

配置nginx

配置主机名解析:

[root@mogilenode2 nginx]# grep “www.kel.com” /etc/hosts

192.168.1.237 www.kel.com

[root@mogilenode2 conf]# 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_pass http://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用户。

责任编辑:途必技术部

版权所有:http://www.uweb.net.cn (优网科技) 转载请注明出处

关闭
推荐新闻
童心无界 童萌有礼——六一儿童节活动来啦!
童心无界 童萌有礼——六一儿童节活动来啦!
六一儿童节是属于“孩子们”节日,不管是天真卡爱的小朋友,还是童心未泯的大朋友。跟着我们一起重回童年,让童心出发吧。
2024.06.03 10:56:04
途必科技十一月生日会--关怀与爱
途必科技十一月生日会--关怀与爱
时隔一个月,又迎来了我们可爱小伙伴们的生日,本月有好几位的寿星生日。途必科技为了关怀员工,特地举办了此次的集体生日会活动,并且还有很多丰富的小吃零食,饮品饮料,当然更重要的蛋糕也是不可或缺的。
2023.11.29 10:57:26
一起成长---十月途必科技员工生日会
一起成长---十月途必科技员工生日会
秋高气爽的季节里头,我们迎来了十月份途必科技小伙伴们的生日,在这个温馨的聚会里一同感受着生日的快乐,能在工作繁忙之余享受到节日带来的温暖。每一次的生日会都是大家在共同的成长,当然啦,成长的路上少不了磕磕碰碰,但是在我们的人生里头,总会相遇温暖,陪伴左右,成长也就变得更加有意义。
2023.10.30 09:29:30
温暖与你同在-八月途必科技小伙伴生日会
温暖与你同在-八月途必科技小伙伴生日会
在每个人成长的背后,总会有温暖相伴,像在途必科技的大家庭里,大家都可以感受到这样的氛围,又温馨,有爱。也许有时候自己都忘了的生日,却是有人记得你的生日,有人愿意为你祝福,这又何尝不是一种温暖呢。途必科技与大家一同成长,也将爱送给大家,途必科技对出席生日会的每一位小可爱表示热烈的欢迎和衷心的感谢,同时也为八月份生日的寿星们送上美丽的祝福~祝愿可爱的寿星们天天开心,心想事成,身体健康,另外也希望每位途必科技的小伙伴在未来的工作中越来越顺利,生活里也越来越好。
2023.08.30 10:32:55
这次圣诞节,我们玩大的
这次圣诞节,我们玩大的
这次的圣诞节,我们玩大的,为了让大家感受到如火热情般的圣诞节,此次带来了很多不一样的玩法和活动。行政人事部代表途必科技给大家制造了很多不一样的惊喜,在这里你可以收获丰富满满的礼物,漂亮小姐姐和可爱圣诞老人的合影,小伙伴们其乐融融的氛围,
2022.12.25 17:00:04
推荐案例
眼光高度决定品牌厚度!
业务展示
专业团队,品质服务

预算不足没关系,

这里

广州市途必企业管理中心(有限合伙)版权所有 粤ICP备2020085998号 Copyright © 2023 All Rights Reserved
 
扫码咨询

专属顾问
扫码咨询您的优网专属顾问!