成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

建站干貨:動(dòng)靜分離,讓網(wǎng)頁(yè)訪問(wèn)速度提升幾個(gè)level

2021-02-16    分類: 網(wǎng)站建設(shè)

建站后,隨著內(nèi)容的不斷豐富,各種文字、圖片、腳本的增加,如果沒(méi)有妥當(dāng)?shù)奶幚矸绞?,網(wǎng)頁(yè)訪問(wèn)速度會(huì)逐漸降低。在這個(gè)追求時(shí)效的信息快時(shí)代,網(wǎng)頁(yè)訪問(wèn)者的耐心正在降低。

據(jù)研究表明,用戶對(duì)打開(kāi)速度2秒以下的網(wǎng)頁(yè)表示滿意,而其能夠忍受的最長(zhǎng)等待時(shí)間是6~8秒。而8秒作為一個(gè)臨界值,如果你的網(wǎng)站打開(kāi)速度超過(guò)8秒,那么很可能,大部分訪問(wèn)者會(huì)因此離你而去。相關(guān)數(shù)據(jù)顯示,如果網(wǎng)頁(yè)加載時(shí)間超過(guò)12秒,99%以上的訪問(wèn)者會(huì)關(guān)閉頁(yè)面,不再等待。

那么今天創(chuàng)新互聯(lián)將給大家?guī)?lái)網(wǎng)頁(yè)提速的新招,即動(dòng)靜分離。

動(dòng)靜分離,那么什么動(dòng)態(tài)的,什么是靜態(tài)的呢?

訪問(wèn)網(wǎng)頁(yè)的時(shí)候,我們總會(huì)發(fā)現(xiàn)瀏覽器會(huì)加載各種各樣的文件,有html文件,有css樣式表,有js腳本,還有圖片,還有流媒體等各種文件,這些其實(shí)就是靜態(tài)的文件,放在服務(wù)器上,無(wú)須動(dòng)態(tài)生成的文件那么就是靜態(tài)文件。那么什么是動(dòng)態(tài)文件呢?例如java寫(xiě)的jsp文件,需要通過(guò)編譯器進(jìn)行編譯成字節(jié)碼文件,然后在java虛擬機(jī)上運(yùn)行,運(yùn)行之后,返回給客戶端一個(gè)響應(yīng),有的時(shí)候,還需要到數(shù)據(jù)庫(kù)中取出數(shù)據(jù),那么這種需要經(jīng)過(guò)編譯的文件就稱之為動(dòng)態(tài)文件。

動(dòng)態(tài)文件的處理比靜態(tài)文件的處理速度要慢N倍,慢在啥地方呢?首先,動(dòng)態(tài)文件需要編譯,耗費(fèi)時(shí)間,動(dòng)態(tài)文件要去連接數(shù)據(jù)庫(kù),耗費(fèi)時(shí)間,動(dòng)態(tài)文件需要組織成http響應(yīng),耗費(fèi)時(shí)間,根據(jù)java的流程,那么就是根據(jù)url,找到j(luò)sp文件,將jsp文件轉(zhuǎn)換成servlet文件,然后形成類文件,然后在jvm上運(yùn)行,jvm可能還要加載額外的類文件,然后組成成響應(yīng)返回給servlet,然后再返回給客戶端。

在使用動(dòng)靜分離的時(shí)候,一般使用的模型如下所示:



在使用動(dòng)靜分離的時(shí)候,需要將一些靜態(tài)的文件和動(dòng)態(tài)的文件分離開(kāi)來(lái),從而使用nginx來(lái)處理靜態(tài)請(qǐng)求,而使用tomcat來(lái)處理動(dòng)態(tài)的請(qǐng)求,從而會(huì)大大的提高處理速度,為啥?

nginx和httpd是專門(mén)用來(lái)處理靜態(tài)文件的,效率極高,并且由nginx直接響應(yīng),減少了向后端轉(zhuǎn)發(fā)的過(guò)程;將動(dòng)態(tài)內(nèi)容和靜態(tài)內(nèi)容進(jìn)行分離,可以提高資源利用率,nginx的性能得到發(fā)揮,也讓tomcat不會(huì)那么繁忙,動(dòng)態(tài)服務(wù)器機(jī)器耗費(fèi)性能,例如在java中的各種方法區(qū)對(duì)象的回收,堆內(nèi)存的回收等。

構(gòu)建動(dòng)靜分離的環(huán)境

要想構(gòu)建動(dòng)靜分離的環(huán)境,那么就需要安裝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 (啟動(dòng)nginx)

[root@mogilenode2 ~]# netstat -tnlp|grep nginx(查看監(jiān)聽(tīng)端口,并且使用瀏覽器訪問(wèn)測(cè)試)

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環(huán)境變量:

[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

測(cè)試jdk及環(huán)境變量是否成功:


安裝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環(huán)境變量:

[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


測(cè)試tomcat是否安裝成功:

[root@mogilenode3 ~]# netstat -tnlp|grep java(注意瀏覽器訪問(wèn)的時(shí)候,添加端口號(hào)來(lái)進(jìn)行訪問(wèn))

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


創(chuàng)建動(dòng)態(tài)文件

根據(jù)java的目錄層次結(jié)構(gòu),寫(xiě)一個(gè)基本的頁(yè)面,如下:

[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.*" %>

   

        JAVA PAGE

   

   

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

   

[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(添加一個(gè)虛擬主機(jī)主機(jī)名為www.kel.com,,默認(rèn)路徑為webapps下面的kel目錄):

       

     


測(cè)試訪問(wèn):


[root@mogilenode3 conf]# grep "www.kel.com" /etc/hosts (設(shè)置主機(jī)名解析)

192.168.1.238 www.kel.com 

[root@mogilenode3

   

        JAVA PAGE

   

   

        Hello,World

 

   


配置nginx

配置主機(jī)名解析:

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

192.168.1.237 www.kel.com

[root@mogilenode2虛擬主機(jī),所以u(píng)rl中必須寫(xiě)上主機(jī)名,靜態(tài)頁(yè)面在nginx上處理,靜態(tài)頁(yè)面在html路經(jīng)下)

-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;

        }


 訪問(wèn)nginx服務(wù)器測(cè)試靜態(tài)文件訪問(wèn):


訪問(wèn)nginx服務(wù)器,測(cè)試動(dòng)態(tài)頁(yè)面訪問(wèn):


總結(jié)

總體上來(lái)說(shuō),動(dòng)靜分離還是比較簡(jiǎn)單的,主要讓前端的代理服務(wù)器直接響應(yīng)靜態(tài)請(qǐng)求,讓前端的代理服務(wù)器轉(zhuǎn)發(fā)動(dòng)態(tài)請(qǐng)求到后端的tomcat服務(wù)器即可。

注意上面的是實(shí)驗(yàn)環(huán)境,對(duì)于tomcat的運(yùn)行的用戶是直接的root用戶,在生產(chǎn)中,必須修改為其他不能登錄的用戶,例如tomcat用戶。

網(wǎng)站標(biāo)題:建站干貨:動(dòng)靜分離,讓網(wǎng)頁(yè)訪問(wèn)速度提升幾個(gè)level
網(wǎng)站URL:http://jinyejixie.com/news/101298.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器企業(yè)網(wǎng)站制作、靜態(tài)網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、電子商務(wù)Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司
云林县| 清丰县| 滦南县| 甘南县| 门源| 鲁甸县| 大港区| 聂拉木县| 乡城县| 福鼎市| 喀什市| 永春县| 宁强县| 临朐县| 巫山县| 永宁县| 柳林县| 蕉岭县| 元朗区| 大同县| 固镇县| 靖安县| 茶陵县| 什邡市| 白水县| 墨竹工卡县| 水富县| 青河县| 沐川县| 竹溪县| 涟水县| 稷山县| 朝阳区| 尼玛县| 怀宁县| 荃湾区| 焦作市| 灯塔市| 三原县| 高密市| 吴旗县|