国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

電商網(wǎng)站怎么制作全國(guó)seo公司排名

電商網(wǎng)站怎么制作,全國(guó)seo公司排名,贛州城鄉(xiāng)建設(shè)局網(wǎng)站,青島網(wǎng)站優(yōu)化價(jià)格一. 設(shè)置賬戶進(jìn)入管理頁面 通過瀏覽器進(jìn)入Tomcat7的管理模塊頁面&#xff1a;http://localhost:8080/manager/status 按照提示&#xff0c;在Tomcat7服務(wù)器指定的位置修改配置文件&#xff08;conf/tomcat-users.xml&#xff09;&#xff0c;增加相應(yīng)的用戶和角色配置標(biāo)簽 <…

一. 設(shè)置賬戶進(jìn)入管理頁面

通過瀏覽器進(jìn)入Tomcat7的管理模塊頁面:http://localhost:8080/manager/status

按照提示,在Tomcat7服務(wù)器指定的位置修改配置文件(conf/tomcat-users.xml),增加相應(yīng)的用戶和角色配置標(biāo)簽

<role rolename="admin-gui"/>

<role rolename="manager-gui"/>

<user username="admin" password="admin" roles="admin-gui,manager-gui"/>

重啟服務(wù)器后,再次訪問服務(wù)器管理模塊頁面:http://localhost:8080/manager/status

二. tomcat的啟動(dòng)調(diào)優(yōu)

Tomcat7啟動(dòng)需要執(zhí)行bin/catalina.sh文件,所以需要修改此文件,增加配置。

(修改文件前請(qǐng)事先做備份: cp catalina.sh catalina.sh.bk)

在文件開頭處增加配置:

export JAVA_OPTS="-server -Xms1600M -Xmx1600M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=31 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true"

注:32位操作系統(tǒng),無論你的內(nèi)存有多大,最大只支持4G內(nèi)存,所以,請(qǐng)一定要裝64位操作系統(tǒng)

執(zhí)行命令獲取當(dāng)前Tomcat服務(wù)的進(jìn)程號(hào)PID :? ps -ef | grep tomcat

執(zhí)行命令查看當(dāng)前系統(tǒng)中jvm堆的內(nèi)存詳情 jmap –heap PID

-server : -server 啟用jdk 的 server 版;

只要你的tomcat是運(yùn)行在生產(chǎn)環(huán)境中的,這個(gè)參數(shù)必須添加

因?yàn)閠omcat默認(rèn)是以一種叫java–client的模式來運(yùn)行的,server即意味著你的tomcat是以真實(shí)的production的模式在運(yùn)行的,這也就意味著你的tomcat以server模式運(yùn)行時(shí)將擁有:更大、更高的并發(fā)處理能力,更快更強(qiáng)捷的JVM垃圾回收機(jī)制,可以獲得更多的負(fù)載與吞吐量

-Xms–Xmx

-Xms 初始堆大小;其初始空間(即-Xms)是物理內(nèi)存的1/64,

-Xmx 最大堆大小; 最大空間(-Xmx)是物理內(nèi)存的1/4。

-Xmn 年輕代堆內(nèi)存大小,此處是(eden+ 2 survivor space),默認(rèn)為物理內(nèi)存的1/64.

可以利用JVM提供的-Xmn -Xms -Xmx等選項(xiàng),

要加“m”說明是MB,否則就是KB了,在啟動(dòng)tomcat時(shí)會(huì)報(bào)內(nèi)存不足。

把Xms與Xmx兩個(gè)值設(shè)成一樣是最優(yōu)的做法

==================================================

一般設(shè)置-Xms、-Xmx相等以避免在每次GC后調(diào)整堆的大小。因?yàn)槟J(rèn)空余堆內(nèi)存小于40%時(shí),JVM就會(huì)增大堆直到-Xmx的最大限制;空余堆內(nèi)存大于70%時(shí),JVM會(huì)減少堆直到-Xms的最小限制。

-Xss :是指設(shè)定每個(gè)線程的棧大小。一般設(shè)置不超過1M,要不然容易出現(xiàn)out of memory。

-XX:+AggressiveOpts:積極的、生猛的,也即可以將最新版的JDK優(yōu)化后的新特性自動(dòng)注入

-XX:+UseBiasedLocking:

啟用一個(gè)優(yōu)化了的線程鎖,對(duì)于高并發(fā)訪問很重要 ,太多的請(qǐng)求忙不過來它自動(dòng)優(yōu)化,對(duì)于各自長(zhǎng)短不一的請(qǐng)求,出現(xiàn)的阻塞、排隊(duì)現(xiàn)象,他自己優(yōu)化。

-XX:PermSize -XX:MaxPermSize

-XX:PermSize設(shè)置Perm區(qū)的初始大小,默認(rèn)是物理內(nèi)存的1/64;

在數(shù)據(jù)量的很大的文件導(dǎo)出時(shí),一定要把這兩個(gè)值設(shè)置上,否則會(huì)出現(xiàn)內(nèi)存溢出的錯(cuò)誤。

-XX:MaxPermSize設(shè)置Perm區(qū)的最大值,默認(rèn)是32M,建議達(dá)到物理內(nèi)存的1/4。

?存放的都是jvm初始化時(shí)加載器加載的一些類型信息(包括類信息、常量、靜態(tài)變量等),這些信息的生存周期比較長(zhǎng),GC不會(huì)在主程序運(yùn)行期對(duì)PermGen Space進(jìn)行清理,所以如果你的應(yīng)用中有很多CLASS的話,就很可能出現(xiàn)PermGen Space錯(cuò)誤。

上述兩個(gè)參數(shù)值存在于jdk1.7之前,1.8后就沒有了。

-XX:MaxNewSize:設(shè)置最大的年輕代大小,默認(rèn)是16M

-XX:NewSize 設(shè)置年輕代大小

-XX:+DisableExplicitGC :

在程序代碼中不允許有顯示的調(diào)用”System.gc()”,避免內(nèi)存的大起大落, 忽略手動(dòng)調(diào)用GC的代碼使得 System.gc()的調(diào)用就會(huì)變成一個(gè)空調(diào)用,完全不會(huì)觸發(fā)任何GC

-XX:MaxTenuringThreshold:設(shè)置對(duì)象在新生代中存活的次數(shù),設(shè)置垃圾最大年齡

1 如果設(shè)置為零的話,則年輕代對(duì)象不經(jīng)過Survivor區(qū)直接進(jìn)入年老代。對(duì)于年老代比較多的應(yīng)用,可以提高效率。

2 如果將此值設(shè)置為一個(gè)較大值,則年輕代對(duì)象會(huì)在Survivor區(qū)進(jìn)行多次復(fù)制,這樣可以增加對(duì)象再年輕代的存活時(shí)間,增加在年輕代即被回收的概率。

這個(gè)值的設(shè)置是根據(jù)本地監(jiān)控后得到的一個(gè)理想的值,不能一概而論原搬照抄。

默認(rèn)為:15。

-XX:+UseConcMarkSweepGC :

使用CMS內(nèi)存收集。即CMS gc,這一特性只有jdk1.5即后續(xù)版本才具有的功能,它使用的是gc估算觸發(fā)和heap占用觸發(fā)。

我們知道頻頻繁的GC會(huì)造面JVM的大起大落從而影響到系統(tǒng)的效率,因此使用了CMS GC后可以在GC次數(shù)增多的情況下,每次GC的響應(yīng)時(shí)間卻很短,比如說使用了CMS GC后經(jīng)過jprofiler的觀察,GC被觸發(fā)次數(shù)非常多,而每次GC耗時(shí)僅為幾毫秒

?添加該參數(shù)表示啟動(dòng)并發(fā)標(biāo)識(shí)-清理(Mark-Sweep)回收器(CMS)

-XX:+UseParNewGC :設(shè)置年輕代為并行收集,對(duì)年輕代采用多線程并行回收,這樣收得快

-XX:+CMSParallelRemarkEnabled :

在使用UseParNewGC 的情況下, 盡量減少mark 的時(shí)間,降低標(biāo)記停頓

-XX:+UseCMSCompactAtFullCollection :

在使用concurrent gc 的情況下, 防止 memoryfragmention, 對(duì)live object 進(jìn)行整理, 使 memory 碎片減少。

-XX:LargePageSizeInBytes :指定 Java heap的分頁頁面大小

-XX:+UseFastAccessorMethods :get,set 方法轉(zhuǎn)成本地代碼

-XX:+UseCMSInitiatingOccupancyOnly :

指示只有在 old generation 在使用了初始化的比例后concurrent collector 啟動(dòng)收集

-Djava.awt.headless=true

這個(gè)參數(shù)一般我們都是放在最后使用的, 在web網(wǎng)頁中可能會(huì)輸出GIF/JPG等圖片流,在linux/unix環(huán)境下經(jīng)常會(huì)碰到一個(gè)exception導(dǎo)致你在winodws開發(fā)環(huán)境下圖片顯示的好好可是在linux/unix下卻顯示不出來,因此加上這個(gè)參數(shù)以免避這樣的情況出現(xiàn)。

-XX:+PrintGCDetails :打印GC詳情

三.?Tomcat并發(fā)優(yōu)化

優(yōu)化前

基礎(chǔ)優(yōu)化

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"

?maxThreads="600"

?minSpareThreads="100"

?maxSpareThreads="500"

?acceptCount="700"

?connectionTimeout="20000"

?redirectPort="8443" />

MaxThreads: 設(shè)定在監(jiān)聽端口的線程的最大數(shù)目,這個(gè)值也決定了服務(wù)器可以同時(shí)響應(yīng)客戶請(qǐng)求的最大數(shù)目。即最大并發(fā)數(shù),默認(rèn)值為200,建議修改為500以上。保守 600 ~ 900

minSpareThreads: Tomcat初始化時(shí)創(chuàng)建的線程數(shù)。默認(rèn)值是10, 此處我們?cè)O(shè)置為100

maxSpareThreads: 一旦創(chuàng)建的線程超過這個(gè)值,Tomcat就會(huì)關(guān)閉不再需要的socket線程。此處的值我們?cè)O(shè)置為500。

acceptCount: 當(dāng)所有可以使用的處理請(qǐng)求的線程都被用光時(shí),可以放到處理隊(duì)列中的請(qǐng)求數(shù),超過這個(gè)數(shù)的請(qǐng)求將不予處理,而返回Connection refused錯(cuò)誤;默認(rèn)值100

connectionTimeout: 等待超時(shí)的時(shí)間數(shù)(以毫秒為單位),建議修改為20000以上;

高級(jí)優(yōu)化

<Connector? port="8080"

??? protocol="org.apache.coyote.http11.Http11NioProtocol"

??? URIEncoding="UTF-8"

??? minSpareThreads="25"

??? maxSpareThreads="75"

??? enableLookups="false"

??? disableUploadTimeout="true"

??? connectionTimeout="20000"

??? acceptCount="300"

??? maxThreads="300"

??? maxProcessors="1000"

??? minProcessors="5"

??? useURIValidationHack="false"

??? compression="on"

??? compressionMinSize="2048"

?compressableMimeType="text/html,text/xml,text/JavaScript,text/css,text/plain"

??? redirectPort="8443"/>

參數(shù)說明

URIEncoding=”UTF-8”

使得tomcat可以解析含有中文名的文件的url,在server.xml文件的Connector標(biāo)簽中增加URIEncoding="UTF-8"屬性,解決中文參數(shù)亂碼問題。

minSpareThreads:

maxSpareThreads

enableLookups

如果希望調(diào)用request.getRemoteHost()進(jìn)行DNS查詢,以返回遠(yuǎn)程客戶的實(shí)際主機(jī)名,將enableLookups設(shè)為true。

如果希望忽略DNS查詢,僅僅返回IP地址,設(shè)為false(這樣提高了性能)。

缺省情況下,DNS查詢是使能的。

一句話:是否反查域名,取值為: true 或 false 。為了提高處理能力,應(yīng)設(shè)置為 false

disableUploadTimeout

類似于Apache中的keepalive一樣,是否需要tomcat容器單獨(dú)設(shè)置上傳時(shí)間限制,這里是不用,還是使用標(biāo)準(zhǔn)的,不去給上傳的附件單獨(dú)做超時(shí)設(shè)置。

connectionTimeout :

acceptCount

acceptCount是當(dāng)線程數(shù)達(dá)到maxThreads后,后續(xù)請(qǐng)求會(huì)被放入一個(gè)等待隊(duì)列,這個(gè)acceptCount是這個(gè)隊(duì)列的大小,如果這個(gè)隊(duì)列也滿了,就直接refuse connection一句話:acceptCount:當(dāng)處理任務(wù)的線程數(shù)達(dá)到最大時(shí),接受排隊(duì)的請(qǐng)求個(gè)數(shù),默認(rèn)100

maxThreads :

maxProcessors

在 Java中線程是程序運(yùn)行時(shí)的路徑,是在一個(gè)程序中與其它控制線程無關(guān)的、能夠獨(dú)立運(yùn)行的代碼段。它們共享相同的地址空間。多線程幫助程序員寫出CPU最大利用率的高效程序,使空閑時(shí)間保持最低,從而接受更多的請(qǐng)求。

通常Windows是1000個(gè)左右,Linux是2000個(gè)左右。

minProcessors

useURIValidationHack:減少它對(duì)一些url的不必要的檢查從而減省開銷,為提高性能可以設(shè)置為false

compression

compression :設(shè)置是否開啟GZip壓縮,HTTP壓縮可以大大提高瀏覽網(wǎng)站的速度,它的原理是,在客戶端請(qǐng)求網(wǎng)頁后,從服務(wù)器端將網(wǎng)頁文件壓縮,再下載到客戶端,由客戶端的瀏覽器負(fù)責(zé)解壓縮并瀏覽。相對(duì)于普通的瀏覽過程HTML,CSS,Javascript , Text ,它可以節(jié)省40%左右的流量。更為重要的是,它可以對(duì)動(dòng)態(tài)生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等輸出的網(wǎng)頁也能進(jìn)行壓縮,壓縮效率驚人。

compressionMinSize

compressionMinSize="2048" 啟用壓縮的輸出內(nèi)容大小,這里面默認(rèn)為2KB

compressableMimeType:哪些類型需要壓縮,默認(rèn)是text/html,text/xml,text/plain

最后不要忘了把8443端口的地方也加上同樣的配置,因?yàn)槿绻覀冏遠(yuǎn)ttps協(xié)議的話,我們將會(huì)用到8443端口這個(gè)段的配置。

修改conf/web.xml文件,增加服務(wù)器會(huì)話超時(shí)時(shí)間

四.tomcat?內(nèi)存優(yōu)化

查看%TOMCAT_HOME%\logs文件夾下,日志文件是否有內(nèi)存溢出錯(cuò)誤

錯(cuò)誤提示:java.lang.OutOfMemoryError: Java heap space

Tomcat默認(rèn)可以使用的內(nèi)存為128MB,在較大型的應(yīng)用項(xiàng)目中,這點(diǎn)內(nèi)存是不夠的,有可能導(dǎo)致系統(tǒng)無法運(yùn)行。

常見的問題是報(bào)Tomcat內(nèi)存溢出錯(cuò)誤,Out of Memory(系統(tǒng)內(nèi)存不足)的異常,從而導(dǎo)致客戶端顯示500錯(cuò)誤,

一般調(diào)整Tomcat的使用內(nèi)存即可解決此問題。

windows環(huán)境下修改

“%TOMCAT_HOME%\bin\catalina.bat”文件,在文件開頭增加如下設(shè)置:

set JAVA_OPTS=-Dfile.encoding=UTF-8 -server -Xms1024m -Xmx2048m -XX:NewSize=512m -XX:MaxNewSize=1024m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:MaxTenuringThreshold=10 -XX:NewRatio=2 -XX:+DisableExplicitGC

Linux環(huán)境下修改

“%TOMCAT_HOME%\bin\catalina.sh”文件,在文件開頭增加如下設(shè)置:

JAVA_OPTS=-Xms2048m -Xmx2048m

錯(cuò)誤提示:java.lang.OutOfMemoryError: PermGen space

PermGen space的全稱是Permanent Generation space,是指內(nèi)存的永久保存區(qū)域,這塊內(nèi)存主要是被JVM存放Class和Meta信息的,Class在被Loader時(shí)就會(huì)被放到PermGen space中,它和存放類實(shí)例(Instance)的Heap區(qū)域不同,GC(Garbage Collection)不會(huì)在主程序運(yùn)行期對(duì)PermGen space進(jìn)行清理,所以如果你的應(yīng)用中有很CLASS的話,就很可能出現(xiàn)PermGen space錯(cuò)誤,這種錯(cuò)誤常見在web服務(wù)器對(duì)JSP進(jìn)行pre-compile的時(shí)候。如果你的WEB APP下都用了大量的第三方j(luò)ar, 其大小超過了jvm默認(rèn)的大小(4M)那么就會(huì)產(chǎn)生此錯(cuò)誤信息了

windows環(huán)境下修改

%TOMCAT_HOME%\bin\catalina.bat”文件,在文件開頭增加如下設(shè)置:

set JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m - XX:MaxPermSize=256m

linux環(huán)境下修改

“%TOMCAT_HOME%\bin\catalina.sh”文件,在文件開頭增加如下設(shè)置:

export JAVA_OPTS=-Xms256m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m XX:MaxPermSize=256m

五.

Tomcat 之BIO/NIO/APR的三大模式

BIO

BIO是最穩(wěn)定最老的一個(gè)連接器,是采用阻塞的方式,意味著每個(gè)連接線程綁定到每個(gè)

Http請(qǐng)求,直到獲得Http響應(yīng)返回,如果Http客戶端請(qǐng)求的是keep-Alive連接,那么這些連接也許一直保持著直至達(dá)到timeout時(shí)間,這期間不能用于其它請(qǐng)求。性能差但是最穩(wěn)定

NIO

NIO是使用Java的異步IO技術(shù),不產(chǎn)生阻塞。nio(new I/O),是Java SE1.4及后續(xù)版本提供的一種新的I/O操作方式(即java.nio包及其子包)。Java nio是一個(gè)基于緩沖區(qū)、并能提供非阻塞I/O操作的Java API,因此nio也被看成是non-blocking I/O的縮寫。它擁有比傳統(tǒng)I/O操作(bio)更好的并發(fā)運(yùn)行性能。

直接修改server.xml里的Connector節(jié)點(diǎn),修改protocol為 :

protocol="org.apache.coyote.http11.Http11NioProtocol"

APR

APR(Apache Portable Runtime)是使用原生C語言編寫的非堵塞I/O,利用了操作系統(tǒng)的網(wǎng)絡(luò)連接功能,速度很快,從操作系統(tǒng)層面解決IO問題。但是需先安裝apr和native,若直接啟動(dòng)就支持apr,能大幅度提升性能。

???? 直接修改server.xml里的Connector節(jié)點(diǎn),修改protocol為:

protocol=" org.apache.coyote.http11.Http11AprProtocol "

安裝APR

安裝APR

  • 解壓縮apr-1.5.2.tar.gz

  • 在目錄/opt/apr/apr-1.5.2 下執(zhí)行:./configure --prefix=/usr/local/apr

  • make

  • make install

安裝apr-iconv

  • 解壓縮apr-iconv-1.2.1.tar.gz

  • 在目錄/opt/apr/apr-iconv-1.2.1下執(zhí)行

./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr

  • make

  • make install

安裝apr-util

  • 解壓縮apr-util-1.5.4.tar.gz

  • 在目錄/opt/apr/apr-util-1.5.4下執(zhí)行:

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv

  • make

  • make install

安裝tomcat-native

  • 進(jìn)入tomcat7的bin目錄

  • 解壓縮tomcat-native.tar.gz文件

  • 在目錄/opt/tomcat7/bin/tomcat-native-1.2.7src/native下執(zhí)行:

  • make

  • make install

設(shè)置apr的環(huán)境變量

  • vim /opt/tomcat7/bin/catalina.sh

  • 編輯添加如下內(nèi)容

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib export LD_LIBRARY_PATH

保存退出

?

修改Apr的默認(rèn)配置

  • /opt/tomcat7/conf目錄下的server.xml文件內(nèi)容:

增加配置:<Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"

URIEncoding="UTF-8"

maxConnections="10000"

maxThreads="2000"

acceptCount="2000"

minSpareThreads="100"

compression="on"

compressionMinSize="2048"

compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"

enableLookups="false"

disableUploadTimeout="true"

connectionTimeout="20000"

redirectPort="8443" />

壓力測(cè)試

ab -n1000 -c100 http://localhost:8080/

http://m.aloenet.com.cn/news/41379.html

相關(guān)文章:

  • WordPress插件集成在主題青島seo建站
  • 景區(qū)電子商務(wù)網(wǎng)站建設(shè)免費(fèi)推廣的網(wǎng)站平臺(tái)
  • 佛山專業(yè)網(wǎng)站建設(shè)公司哪家好網(wǎng)站廣告投放收費(fèi)標(biāo)準(zhǔn)
  • 怎么做電視臺(tái)網(wǎng)站網(wǎng)站外鏈購(gòu)買
  • 常州做集裝箱的公司東莞seo網(wǎng)絡(luò)推廣專
  • 響應(yīng)云網(wǎng)站模板下載天津seo優(yōu)化公司哪家好
  • 淄博網(wǎng)站推廣公司那些指數(shù)平臺(tái)
  • 徐州做網(wǎng)站建設(shè)的公司免費(fèi)的短視頻app大全
  • 用花生棒自己做網(wǎng)站網(wǎng)站片區(qū)
  • java網(wǎng)站開發(fā)設(shè)計(jì)報(bào)告武漢seo排名優(yōu)化
  • 萬全網(wǎng)站建設(shè)怎么在百度上推廣產(chǎn)品
  • 電商平臺(tái)網(wǎng)站開發(fā)口碑營(yíng)銷案例2021
  • wordpress 超商取貨電商seo什么意思
  • 域名備案代理石家莊seo管理
  • 做不規(guī)則幾何圖形的網(wǎng)站重慶高端品牌網(wǎng)站建設(shè)
  • 做網(wǎng)站的崗位有什么好的推廣平臺(tái)
  • 如何做網(wǎng)站數(shù)據(jù)庫(kù)朝陽區(qū)搜索優(yōu)化seosem
  • 長(zhǎng)春電商網(wǎng)站建設(shè)哪家好seo如何挖掘關(guān)鍵詞
  • 幾十元做網(wǎng)站營(yíng)銷團(tuán)隊(duì)找產(chǎn)品合作
  • 如何做泛解析網(wǎng)站百度知道怎么賺錢
  • wordpress建站教程主題推廣手段
  • 醫(yī)療美容培訓(xùn)網(wǎng)站建設(shè)站長(zhǎng)之家關(guān)鍵詞挖掘工具
  • 為某網(wǎng)站做網(wǎng)站推廣策劃方案制作網(wǎng)站的工具
  • 網(wǎng)站上名片如何做鄭州網(wǎng)站推廣報(bào)價(jià)
  • 廈門做網(wǎng)頁網(wǎng)站的公司企業(yè)官網(wǎng)建站
  • 老年大學(xué)網(wǎng)站建設(shè)網(wǎng)絡(luò)軟文
  • 手機(jī)兼職賺錢平臺(tái)飛豬關(guān)鍵詞排名優(yōu)化
  • 叢臺(tái)企業(yè)做網(wǎng)站推廣成人英語培訓(xùn)班哪個(gè)機(jī)構(gòu)好
  • 個(gè)人建網(wǎng)站教程seo工資多少
  • 做哪些網(wǎng)站不受法律保護(hù)廣告設(shè)計(jì)與制作