Linux基礎(chǔ)與應(yīng)用實踐 課件 任務(wù)七 Web服務(wù)器配置_第1頁
Linux基礎(chǔ)與應(yīng)用實踐 課件 任務(wù)七 Web服務(wù)器配置_第2頁
Linux基礎(chǔ)與應(yīng)用實踐 課件 任務(wù)七 Web服務(wù)器配置_第3頁
Linux基礎(chǔ)與應(yīng)用實踐 課件 任務(wù)七 Web服務(wù)器配置_第4頁
Linux基礎(chǔ)與應(yīng)用實踐 課件 任務(wù)七 Web服務(wù)器配置_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Linux基礎(chǔ)與項目實踐任務(wù)七Web服務(wù)器配置0203使用Nginx配置Web服務(wù)器使用Apache配置Web服務(wù)器01WWW與HTTP協(xié)議簡介04使用Nginx配置企業(yè)Web服務(wù)器WWW與HTTP協(xié)議簡介PART01WWW和Web服務(wù)3萬維網(wǎng)(WorldWideWeb,WWW)通常被稱為Web,是Internet提供的一種信息檢索技術(shù),起源于CERN(),其發(fā)明者是TimBerners-Lee,最初的目的是提供一個統(tǒng)一的接口,使分散于世界各地的科學(xué)家能夠方便地訪問各種形式的信息。WWW提供一種交互式圖形界面的互聯(lián)網(wǎng)服務(wù),具有強大的信息連接功能,使成千上萬的用戶通過簡單的圖形界面就可以訪問各個大學(xué)、組織、公司等機構(gòu)和個人的最新信息和各種服務(wù),Web服務(wù)具體有如下特點:lWeb是圖形化的lWeb是易于導(dǎo)航的lWeb是動態(tài)的lWeb是交互式的lWeb是與平臺無關(guān)的lWeb是分布式的WWW和Web服務(wù)器4Web相關(guān)組件組件說明統(tǒng)一資源標識符URIURI用有含義的字符串標識互聯(lián)網(wǎng)上的資源(RFC3986),其子集統(tǒng)一資源定位符(UniformResourceLocator,URL)是描述資源在互聯(lián)網(wǎng)上進行訪問方法的一種簡潔的表示,是互聯(lián)網(wǎng)上標準資源的地址Web客戶和Web服務(wù)器Web系統(tǒng)是基于客戶/服務(wù)器、請求/響應(yīng)模式運作的超文本傳輸協(xié)議HTTP規(guī)定了Web客戶和Web服務(wù)器之間交換信息的格式和方法Web緩存和Web代理HTTP協(xié)議定義了客戶端緩存機制。另外架設(shè)Web緩存服務(wù)器的內(nèi)容分發(fā)網(wǎng)絡(luò)可以加快客戶端訪問。Web代理對于Web客戶來說是服務(wù),而對于Web服務(wù)器來說是客戶。也就是說代理同時扮演著客戶和服務(wù)器的雙重身份。代理除了可以正常轉(zhuǎn)發(fā)客戶和服務(wù)器之間的交互信息之外,還可以過濾不希望的Web請求,實現(xiàn)高速緩存等Cookie和Session機制HTTP是一個無狀態(tài)協(xié)議,因此當Web服務(wù)器將Web客戶請求的響應(yīng)發(fā)送出去后,服務(wù)器便不必再保存任何信息Web服務(wù)器可以指示W(wǎng)eb客戶以存儲Cookie的方式在一系列請求和響應(yīng)之間維持狀態(tài),而服務(wù)器則采用Session機制保持狀態(tài)Web內(nèi)容的構(gòu)建組件使用HTML/XHTML、CSS、Javascript構(gòu)建靜態(tài)Web頁面使用CGI、PHP、Python、Ruby、JavaServlet、Node.js等技術(shù)構(gòu)建動態(tài)Web應(yīng)用使用各種數(shù)據(jù)發(fā)布格式及語言(XML、YAML、JSON、RSS/Atom)交換數(shù)據(jù)WWW和Web服務(wù)器5Web系統(tǒng)是客戶/服務(wù)器式的,包括Web客戶和Web服務(wù)器。最典型的Web客戶是Web瀏覽器。通常將Web客戶和Web瀏覽器視為同義語。但嚴格地講,可以向Web服務(wù)器發(fā)送HTTP請求的程序都是Web客戶,Web瀏覽器只是Web客戶的一種,其他的Web客戶還包括像wget、curl等。

Web瀏覽器和Web服務(wù)器的職責Web瀏覽器的職責Web服務(wù)器的職責生成Web請求(在瀏覽器地址欄輸入URL或單擊頁面鏈接時生成)通過網(wǎng)絡(luò)將Web請求發(fā)送給Web服務(wù)器接收從服務(wù)器傳回的Web文檔解釋服務(wù)器傳來的Web文檔,并將結(jié)果顯示在屏幕上默認監(jiān)聽TCP的80端口接收Web客戶請求檢查請求的合法性,包括安全性屏蔽針對請求獲取并制作Web文檔將信息發(fā)送給提出請求的客戶機HTTP協(xié)議6超文本傳輸協(xié)議(HyperTextTransferProtocol,HTTP)是一種用于傳輸超文本文檔的應(yīng)用層協(xié)議,是Web數(shù)據(jù)通信的基礎(chǔ)。超文本(HyperText)是結(jié)構(gòu)化的文本,使用含有文本的節(jié)點之間的邏輯連接(超鏈接)。HTTP是交換或轉(zhuǎn)移超文本的協(xié)議。HTTP協(xié)議特點HTTP協(xié)議具有如下特點。lURI資源識別:HTTP依賴于URI,HTTP在其一切事務(wù)中使用URI來識別Web上的資源。l請求/響應(yīng)方式:HTTP請求由客戶機發(fā)出,服務(wù)器用響應(yīng)消息應(yīng)答。流向是從客戶端到服務(wù)器。l無狀態(tài)性:HTTP是一個無狀態(tài)協(xié)議,當跨越不同的請求響應(yīng)時,客戶機或服務(wù)器不維持任何狀態(tài)。每一對請求和響應(yīng)被作為獨立的消息交換處理。l攜帶元數(shù)據(jù):與資源相關(guān)的信息包含在Web傳輸中。元數(shù)據(jù)是與資源相關(guān)的信息,但并不是資源本身的一個組成部分,如資源內(nèi)容的類型text/html;資源編碼的類型UTF-8;資源的大小等。HTTP協(xié)議7HTTP標準是由互聯(lián)網(wǎng)工程任務(wù)組(InternetEngineeringTaskForce,IETF)和萬維網(wǎng)聯(lián)盟(WorldWideWebConsortium,W3C)協(xié)作開發(fā)的,最終形成RFC標準。

HTTP協(xié)議版本版本說明HTTP/1.01996年發(fā)布HTTP/1.0標準(RFC1945)HTTP/1.1當前廣泛使用的協(xié)議標準。1997年發(fā)布HTTP/1.1標準(RFC2068),1999年更新為RFC26162007年HTTPbis工作組成立,部分修訂和澄清了HTTP/1.1的RFC2616,并拆分為如下6個RFCRFC7230,HTTP/1.1:MessageSyntaxandRoutingRFC7231,HTTP/1.1:SemanticsandContentRFC7232,HTTP/1.1:ConditionalRequestsRFC7233,HTTP/1.1:RangeRequestsRFC7234,HTTP/1.1:CachingRFC7235,HTTP/1.1:AuthenticationHTTP/22015年發(fā)布2的標準(RFC7540)HTTP協(xié)議8HTTP是一種基于TCP協(xié)議的應(yīng)用協(xié)議,在客戶端和服務(wù)器之間有3種不同的HTTP通信方式,分別如下:l傳統(tǒng)方式:當用戶需要訪問一個網(wǎng)頁或其頁面資源文件(如CSS文件、圖片文件等)時,客戶端打開一個連接,發(fā)送單個請求給服務(wù),而后接收從服務(wù)器發(fā)回的響應(yīng),然后關(guān)閉連接。當需要訪問另一個網(wǎng)頁或其頁面資源文件時重新建立連接,周而復(fù)始。l持久連接(Keep-alive)方式:客戶端打開一個連接,可以依次發(fā)送多個請求給服務(wù)器并接收從服務(wù)器發(fā)回的多個響應(yīng),每接收一個服務(wù)器響應(yīng)之后才會發(fā)送下一個請求給服務(wù)器。只要任意一端未明確提出斷開連接,則會保持TCP連接狀態(tài)。l管線化(Pipelining)方式:客戶端打開一個連接,可以同時發(fā)送多個請求給服務(wù)器并接收從服務(wù)器發(fā)回的多個響應(yīng),客戶端不必等待獲取上一個請求的響應(yīng)亦可直接發(fā)送下一個請求,從而大大加快了處理速度。這是持久連接方式的改進。HTTP協(xié)議9HTTP請求方式簡稱HTTP方法(HTTPmethod),包含在HTTP頭中,用于告知服務(wù)器客戶請求信息的方式。HTTP的請求方法

方法說明協(xié)議對應(yīng)的CRUD操作HEAD獲取HTTP頭。用于驗證鏈接、驗證可訪問性,并檢查任何最近的修改1.0、1.1-GET獲取資源。當服務(wù)器響應(yīng)客戶請求時會包含一個消息主體1.0、1.1ReadPOST將數(shù)據(jù)上傳到服務(wù)器1.0、1.1CreatePUT與POST類似,區(qū)別在于PUT支持狀態(tài)統(tǒng)一性1.0、1.1UpdateDELETE使用該請求刪除已識別的資源1.0、1.1DeleteCONNECT要求用隧道協(xié)議連接代理1.1-OPTIONS用于從客戶端請求通信選項,詢問支持的方法1.1-TRACE跟蹤路徑,用于診斷和測試1.1-HTTP協(xié)議10HTTP的狀態(tài)碼分類說明狀態(tài)碼舉例信息1xx表明服務(wù)端接收了客戶端請求100:通知客戶端它的部分請求已被服務(wù)器接收,服務(wù)器希望客戶端繼續(xù)成功2xx客戶端發(fā)送的請求被服務(wù)端成功接收并成功進行了處理200:服務(wù)器成功接收并處理了客戶端的請求206:服務(wù)器已經(jīng)成功處理了部分GET請求,下載工具使用此類響應(yīng)狀態(tài)實現(xiàn)斷點續(xù)傳重定向3xx服務(wù)端給客戶端返回用于重定向的信息301:被請求的資源已永久移動到新位置,并且將來對此資源的引用都使用響應(yīng)返回的URI302:請求的資源現(xiàn)在臨時從不同的URI響應(yīng)請求304:被請求的資源未發(fā)生變化,瀏覽器可以利用本地緩存展示頁面客戶端錯誤4xx客戶端的請求有非法內(nèi)容400:客戶端請求錯誤401:未經(jīng)授權(quán)的訪問403:客戶端請求被服務(wù)器所禁止404:客戶端所請求的URL在服務(wù)器不存在服務(wù)器錯誤5xx服務(wù)端未能正常處理客戶端的請求而出現(xiàn)意外錯誤500:服務(wù)器在處理客戶端請求時出現(xiàn)異常501:服務(wù)器未實現(xiàn)客戶端請求的方法或內(nèi)容502:中間代理返回給客戶端的出錯信息,表明服務(wù)器返回給代理時出錯503:服務(wù)器由于負載過高或其他錯誤而無法正常響應(yīng)客戶端請求504:中間代理返回給客戶端的出錯信息,表明代理連接服務(wù)器出現(xiàn)超時使用Apache配置Web服務(wù)器PART02Apache概述12搭建Web服務(wù)器的軟件有很多,在Linux環(huán)境下主要的Web服務(wù)器軟件有:Apache(/)Nginx(/)Lighttpd()Cherokee()據(jù)統(tǒng)計,ApacheWeb服務(wù)器是當前使用比例最高的Web服務(wù),本書首先介紹使用Apache的配置和使用。Apache概述13Apache的良好特性保證了它可以高效且穩(wěn)定的運行。其特性主要表現(xiàn)在:l開放源代碼、跨平臺應(yīng)用l模塊化設(shè)計、運行穩(wěn)定、良好的安全性l為不同平臺設(shè)計了提高性能的不同多處理模塊(MPM)l實現(xiàn)了動態(tài)共享對象(DSO),允許在運行時動態(tài)裝載功能模塊l支持最新的HTTP1.1協(xié)議l支持虛擬主機、支持HTTP認證、集成了代理服務(wù)、支持安全Socket層(SSL)l使用簡單而強有力的基于文本的配置文件,具有可定制的服務(wù)器日志l支持通用網(wǎng)關(guān)接口CGI、FastCGI、服務(wù)器端包含命令(SSI)l支持PHP、Perl、Python、Ruby、JavaServlets等腳本編程語言l支持第三方軟件開發(fā)商提供的大最功能模塊Apache概述14Apache的結(jié)構(gòu)如圖所示,由內(nèi)核、標準模塊和第三方提供的模塊三層次組成。Apache概述15Apache2.4使用多處理模塊(Multi-ProcessingModule,MPM),使用此類模塊會在服務(wù)器處理多個請求時,控制Apache的運行方式。ProforkMPMWorkerMPMEventMPM類型多進程模型多進程多線程混合模型多進程多線程混合模型工作方式由Apache的主控進程同時創(chuàng)建多個子進程,每個子進程只用一個線程處理一個連接請求由Apache的主控進程同時創(chuàng)建多個子進程,每個子進程再創(chuàng)建固定數(shù)量的線程和一個監(jiān)聽線程,由監(jiān)聽線程監(jiān)聽接入請求并將其傳遞給服務(wù)線程處理和應(yīng)答是Worker模式的變種,它把服務(wù)進程從連接中分離出來,使用專門的線程來管理這些keepalive類型的線程,當有真實請求時,會停止一些keepalive類型的線程從而釋放一些線程資源以接受更多多連接請求優(yōu)點成熟穩(wěn)定,兼容所有新老模塊,是線程安全的(每個子進程只用一個線程)每個子進程中的線程通常會共享內(nèi)存空間,從而減少了內(nèi)存的占用;高并發(fā)下比ProforkMPM表現(xiàn)更優(yōu)秀解決了keepalive場景下,長期被占用的線程的資源浪費問題,比WorkerMPM可以處理更多的并發(fā)進程缺點連接數(shù)比較大時非常消耗內(nèi)存,不擅長處理高并發(fā)請求;使用keepalive連接時,某個子進程會一直被占據(jù),也許中間幾乎沒有請求,需要一直等待到超時才會被釋放,過多的子進程占據(jù)會導(dǎo)致在高并發(fā)場景下的無服務(wù)進程可用子進程內(nèi)的多個線程共享內(nèi)存會帶來線程安全隱患;使用keepalive連接時,某個線程會一直被占據(jù),也許中間幾乎沒有請求,需要一直等待到超時才會被釋放,過多的線程占據(jù),會導(dǎo)致在高并發(fā)場景下的無服務(wù)線程可用子進程內(nèi)的多個線程共享內(nèi)存會帶來線程安全隱患;在遇到某些不兼容的模塊時會失效,將會回退到Worker模式Apache配置16啟動和停止Apache安裝完Apache后,可以使用systemctl命令管理Apache的httpd服務(wù),命令格式如下:#systemctl{start|stop|status|restart|reload}httpd#systemctl{enable|disable}httpd除了使用systemctl命令外,還可以使用apachectl命令來控制和管理Apach命令說明命令說明apachectlstart啟動Apache服務(wù)apachectl–V或httpd–V顯示Apache的編譯參數(shù)apachectlstop停止Apache服務(wù)apachectl–l或httpd–l查看Apache已經(jīng)編譯的模塊apachectlgraceful重新啟動Apache服務(wù)apachectl–M或httpd–M列出所有模塊,包括動態(tài)加載的apachectlstatus使用systemd顯示httpd狀態(tài)apachectl–t或httpd–t檢查Apache配置文件的正確性apachectlfullstatus顯示mod_status模塊的輸出apachectl–S或httpd-S檢查虛擬主機配置的正確性Apache配置17Apache的配置文件

(1)主配置文件和Include指令A(yù)pache的主配置文件是httpd.conf,為了按邏輯分割配置,可以用Include或IncludeOptional指令和通配符附加許多其他配置文件。(2)基本目錄的配置文件Apache除了使用主配置文件之外,還可以使用分布在整個網(wǎng)站目錄樹中的特殊文件來進行分散配置。這樣的特殊配置文件稱為基于目錄的配置文件,這些特殊的文件名默認為.htaccess,但是也可以用AccessFileName指令來改變其名字。(3)配置文件的基本語法每一行包含一個指令,在行尾使用反斜杠“\”可以表示續(xù)行。配置文件中的指令不區(qū)分大小寫,但是指令的參數(shù)(argument)通常區(qū)分大小寫。以“#”開頭的行被視為注解并在讀取時被忽略。注解不能出現(xiàn)在指令的后邊。空白行和指令前的空白字符將在讀取時被忽略,因此可以采用縮進以保持配置層次的清晰。Apache配置18Apache的模塊Apache是模塊化的服務(wù)器,有兩種編譯方式。(1)靜態(tài)編譯:將核心模塊和所需要的模塊一次性編譯。l優(yōu)點:運行速度快l缺點:要增加或刪除模塊必須

重新編譯整個Apache。(2)動態(tài)編譯:只編譯核心模塊和DSO(動態(tài)共享對象)模塊mod_so。l優(yōu)點:各模塊可以獨立編譯,并可隨時用LoadModule指令加載,用于特定模塊的指令可以用<IfModule>指令包含起來,使之有條件地生效。l缺點:運行速度稍慢。Apache虛擬機配置19Apache的虛擬主機主要應(yīng)用于HTTP服務(wù),將一臺主機虛擬成多臺Web服務(wù)器。例如,某家公司想從事提供主機代管服務(wù),為其他企業(yè)提供Web服務(wù),那么該公司肯定不是為每家企業(yè)都準備一臺物理服務(wù)器,而是用一臺功能較強大的服務(wù)器,然后用虛擬主機的方式,提供多個企業(yè)的Web服務(wù)。雖然多個Web服務(wù)都是用這一臺服務(wù)器提供的,但是讓訪問者看起來卻像是在不同的獨立的服務(wù)器上獲得Web服務(wù)是一樣的。

用Apache設(shè)置虛擬主機服務(wù)通常有兩種方案:l基于IP地址的虛擬主機:每個網(wǎng)站擁有不同的IP地址。l基于名字的虛擬主機:主機只有一個IP地址,可以使用不同的域名來訪問不同的網(wǎng)站。Apache虛擬機配置20虛擬主機配置指令無論配置基于IP的虛擬主機還是配置基于域名的虛擬主機,都需要使用<VirtualHost>容器,下面是Apache的配置文件中給出的虛擬主機配置樣例。<VirtualHost*:80>ServerAdminwebmaster@DocumentRoot/www/docs/ServerNameErrorLoglogs/-error_logCustomLoglogs/-access_logcommon</VirtualHost>其中l(wèi)ServerAdmin:用于指定當前虛擬主機的管理員E-mail地址lDocumentRoot:用于指定當前虛擬主機的根文檔目錄lServerName:用于指定當前虛擬主機的名稱lErrorLog:用于指定當前虛擬主機的錯誤日志存放路徑lCustomLog:用于指定當前虛擬主機的訪問日志存放路徑Apache虛擬機配置21主服務(wù)配置與虛擬主機配置的關(guān)系(1)覆蓋性主服務(wù)器范圍內(nèi)的指令(在所有<VirtualHost>容器之外的指令,包括主配置文件使用Include包含的配置文件中的指令)僅在它們沒有被虛擬主機的配置覆蓋時才起作用。換句話說,<VirtualHost>容器中的指令會覆蓋主服務(wù)器范圍內(nèi)同名的配置指令。(2)繼承性每個虛擬主機都會從主服務(wù)器配置繼承相關(guān)的配置。例如,當在<VirtualHost>容器中沒有使用DirectoryIndex配置指令時,因為在主服務(wù)器配置中已經(jīng)出現(xiàn)如下配置語句:DirectoryIndexindex.htmlApache虛擬機配置22使用虛擬主機配置文件配置虛擬主機時可以在主配置文件中進行。但是為了方便維護虛擬主機的配置,通常為某個虛擬主機或某組虛擬主機使用單獨的配置文件,為此,首先修改主配置文件/etc/httpd/conf/httpd.conf,在文件尾部添加如下配置行:IncludeOptionalvhosts.d/*.conf然后使用如下命令創(chuàng)建存放虛擬主機配置文件的目錄。#mkdir/etc/httpd/vhosts.d如此配置之后,即可在/etc/httpd/vhost.d目錄下創(chuàng)建虛擬主機配置文件了。使用Nginx配置Web服務(wù)器PART03Nginx概述24Nginx是一款輕量級的Web服務(wù)器,其發(fā)音為“engineX”,是一個高性能HTTP和反向代理服務(wù)器,同時也是一個IMAP/POP3/SMTP代理服務(wù)器。這里介紹Nginx主要是為了向讀者說明,除了Apache服務(wù)器之外,Linux系統(tǒng)下還有很多種工具可以搭建Web服務(wù)器,而這其中Nginx是一個優(yōu)秀的代表。Nginx做為HTTP服務(wù)器,有以下幾項基本特性:l處理靜態(tài)文件(如HTML靜態(tài)網(wǎng)頁及請求),處理索引文件及支持自動索引;l打開并自行管理文件描述緩存符;l提供反向代理服務(wù),并且可以使用緩存加速反向代理,同時完成簡單的負載均衡和容錯;l提供遠程FastCGI服務(wù)的緩存機制,加速訪問,同時完成簡單的負載均衡和容錯;l使用Nginx的模塊化提供過濾器功能,Nginx基本過濾器包括gzip壓縮、ranges支持、chunked響應(yīng)、XSLT、SSI以及圖像縮放等;l支持HTTP下的安全套接層套接協(xié)議SSL。Nginx概述25Nginx專為性能優(yōu)化而開發(fā),性能是其最重要的考量,實現(xiàn)上非常注重效率。它支持內(nèi)核Poll模型,能經(jīng)受高負載的考驗,能支持高達50000個并發(fā)連接數(shù)。

Nginx具有很高的穩(wěn)定性。Nginx采取了分階段資源分配技術(shù),使得它的CPU與內(nèi)存占用率非常低。Nginx官方表示在保持10,000個無活動連接時,它只占2.5M內(nèi)存,所以類似DoS這樣的攻擊對Nginx來說基本上是毫無用處的。

Nginx支持熱部署。它的啟動特別容易,并且?guī)缀蹩梢宰龅?*24不間斷運行,即使運行數(shù)個月也不需要重新啟動。

Nginx采用master-slave模型(主從模型,一種優(yōu)化阻塞的模型),能夠充分利用SMP(對稱多處理,一種并行處理技術(shù))的優(yōu)勢,且能夠減少工作進程在磁盤I/O的阻塞延遲。

Nginx代碼質(zhì)量非常高,代碼規(guī)范,語法成熟,模塊擴展也很容易。Nginx與Apache對比26Nginx與Apache相比的特點:l輕量級。與Apache相比,Nginx占用更少的內(nèi)存及資源。l高并發(fā)。Nginx處理請求是異步非阻塞的,而Apache是阻塞型的,在高并發(fā)情況下Nginx能保持低資源低消耗高性能的特點。l高度模塊化的設(shè)計,配置更為簡潔。l社區(qū)活躍度高,各種高性能模塊推出更

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論