當前位置:首頁 » 編程語言 » pythontomcat日誌

pythontomcat日誌

發布時間: 2023-06-16 09:56:14

1. tomcat部署時war包解壓


旭勇 >《國內情況》
閱29轉02021.05.11關注
Fiddler在使用的過程中經常會碰到一些問題。這章補充一些Fiddler的用法。

2.1Fiddler必須要做的3個設置
Fiddler需要進行3個設置,這樣做使用Fiddler的過程才能順暢。

2.1.1第1個設置:在Fiddler中安裝證書
大部分網站都是使用HTTPS協議,所以必須安裝證書,這樣才能捕獲HTTPS,如圖2-1所示。

如果證書沒有安裝成功,那麼Fiddler只能鎮碼扮抓到HTTP請求,抓不到HTTPS請求,如圖2-2所示。所以一定要想辦法把證書安裝好。

圖2-1Fiddler安裝證書

圖2-2沒有抓到HTTPS

2.1.2第2個設置:自動解壓HTTP響應
在Fiddler工具欄中選中「Decode」按鈕,如圖2-3所示。這樣就會自動解壓HTTP響應,否則我們看到的HTTP響應是亂碼。

圖2-3Fiddler選中Decode按鈕

2.1.3第3個設置:隱藏「Tunner to」請求
可以在Fiddler中隱藏「CONNECT Tunnels」請求,如圖2-4所示。隱藏的方法是選擇菜單欄中的Rules→Hide CONNECTs。這樣Fiddler就不會捕獲大量無用的握手驗證請求,如圖2-5所示。這些「Tunnel to」的請求對我們沒什麼用處。因為我們平常根本不關心HTTPS是如何建立連接的。我們抓包是為了看HTTP請求和響應的數據內容,抓HTTPS也是看數據內容,而不關心HTTPS的通信是怎麼建立的。

圖2-4在Fiddler中選中Hide CONNECTs

圖2-5Fiddler中的握手驗證請求

2.2不允許抓包
軟體開發商並不希望自己的軟體被人抓包,抓包意味著自己的介面全部被人看得一清二楚,存在很多安全隱患。有很多App採取各種措施來防止被抓包。

2.2.1某些App抓不到包
某些App為了不被抓包,直接會在代碼里設置不允許使用代理,這樣Fiddler就抓不到了。

有些App能抓包,說明Fiddler的設置是正確的。某些App不能抓包,原因有很多,如下。

可能是Fiddler證書原因,解決方法是需要用證書插件來重新製作一個證書,然後重新配置。
這個App的開發者進行了特殊設置,不讓抓包。
2.2.2HTTP請求和響應全部加密
圖2-6是一個查違章的App的抓包內容,可以看到這個App可以被抓包,但是其HTTP請求和HTTP響應全部被加密了,安全性很高。

圖2-6查違章App的介面全部被加密

2.2.3不讓抓包
銀行的App對安全性要求很高,所以一般不允許抓包。某款銀行App在用Fiddler抓包的時候,App會提示網路錯誤,不讓抓包,如圖2-7所示。

圖2-7某銀行App不讓抓包

2.3Fiddler抓不到包
在使用Fiddler的過程中,有時候會發現模兆Fiddler抓不到包。下面介紹如何解決抓包失敗的問題。

2.3.1Fiddler的抓包開關
Fiddler有一個抓包的開關。打開狀態欄的時候,狀態欄的最左邊有個「Capturing」圖標,如圖2-8所示。如果沒有這個圖標,當然抓不到包了。初學者很容易忘記這個開關。

圖2-8Fiddler的抓包開關

2.3.2瀏覽器抓不到包
Fiddler能抓包是因為它是一個代理伺服器。需要抓包的程序必須把代理指向Fiddler才行。如果瀏覽器抓不到包,可能是因為瀏覽器的代理設置沒有指向Fiddler。我們可以先重啟Fiddler,然後查看瀏覽器的代理伺服器設置,或者換不同的瀏覽器試試。御灶

我們先來看一下Fiddler的抓包原理圖,如圖2-9所示。

圖2-9瀏覽器的抓包原理

如果是某一個瀏覽器抓不到包,解決方案是換其他的瀏覽器。比如IE和Chrome都能抓到,只是Firefox抓不到包,說明Fiddler本身沒有問題,可能是Firefox的代理設置沒有指向Fiddler。

如果是所有的瀏覽器都抓不到包,這說明整個Fiddler都不工作。那麼要先重啟Fiddler,再檢查下系統的代理設置,如圖2-10所示。

圖2-10系統代理設置

設置系統代理的打開方式為:控制面板→Internet選項→連接→區域網設置→代理伺服器。

2.3.3能抓HTTP不能抓HTTPS
如果發現Fiddler可以抓到HTTP的請求,但是抓不到HTTPS的請求,這說明沒有安裝Fiddler的證書或者安裝Fiddler證書失敗。Fiddler可能會提示你安裝證書。解決辦法是重新安裝證書,再重啟Fiddler,如圖2-11所示。

圖2-11重新安裝證書

重新安裝證書的操作是Options→Actions→Trust Root Certificate。

2.3.4抓不到手機中的包
很多人會碰到這種情況:Fiddler能抓本地計算機瀏覽器的包,但是抓不到手機的包。本地計算機和手機位於同一個網路,各種配置也正常,但是手機的包就是抓不到。

出現這樣的問題的原因是Fiddler所在的計算機和手機之間的網路不通。即使Fiddler所在的計算機和手機連的是同一個Wi-Fi,也可能網路不通。在同一個Wi-Fi下,網路不一定是通的。操作系統上的防火牆或者其他軟體的設置都會影響網路的通信。我們需要通過下面的步驟來檢測網路是否是通的。

第1步:測試Fiddler能否捕獲本地計算機的瀏覽器的包,如果本地瀏覽器都不能抓包,那就說明Fiddler的配置有問題。

第2步:如果Fiddler所在的計算機的IP地址是192.168.0.100,那麼Fiddler證書網站的網址是http://192.168.0.100:8888。用計算機的瀏覽器訪問Fiddler證書網站,如圖2-12所示。

圖2-12Fiddler Echo Service網頁

第3步:在手機沒有設置代理的情況下,在手機上用瀏覽器打開Fiddler的證書網站。

如果網頁打不開,說明網路不通,原因可能如下。

手機和計算機不在同一個網路。
Fiddler的允許遠程連接的設置沒有打開。
Windows的防火牆關閉(防火牆打開,可能會禁止8888埠對外開放)。
只有Fiddler證書網站能打開,才能說明手機和計算機的網路是通的。再去修改手機上的代理設置,Fiddler才能對App進行抓包。

2.3.5經過上面的設置,還是抓不到包
可以考慮換台計算機、換個手機試試,或者換別的抓包工具試試。

2.3.6mac OS系統上抓包
Fiddler是用C#開發的,目前對mac OS的支持不太友好。現在很多人都用Mac筆記本辦公,在mac OS系統上抓包可以考慮用另外兩個工具:瀏覽器開發者工具和Charles。

2.3.7Fiddler證書安裝不成功
有時候會碰到Fiddler安裝證書不成功的情況,如圖2-13所示。

圖2-13證書安裝不成功

這種情況一般在Windows7系統中出現,可以試圖用下面介紹的兩種方法來解決。

方法1:從別的機器中復制一個Fiddler根證書「FiddlerRoot.cer」放到Fiddler的安裝目錄下面,然後再重新配置證書,如圖2-14所示。

圖2-14Fiddler證書

方法2:使用Fiddler證書製作工具來重新製作證書,詳細步驟如下。

第1步:在Fiddler中刪除證書。打開Fiddler,依次打開Tools→Options,取消選中Decrypt HTTP traffic,並且在Actions中單擊「Remove Interception Certificates」,如圖2-15所示。

圖2-15Fiddler刪除證書

第2步:卸載證書。找到Fiddler的安裝目錄,其中有個unCert.exe文件。如果沒有unCert.exe就不需要卸載,如圖2-16所示。

第3步:使用Fiddler證書製作工具來重新製作證書。下載Certificate Make插件,運行下載的文件之後會生成新的證書。

第4步:在Fiddler中重新配置證書。

圖2-16Fiddler卸載證書

2.3.8iOS系統10.3以上,手動信任證書
若iOS系統版本是10.3以上,那麼證書可能沒有被信任,需要手動設置信任證書。依次打開設置→通用→關於本機→證書信任設置,將Fiddler證書啟用即可,如圖2-17所示。

圖2-17iOS中啟用Fiddler證書

2.4Fiddler包太多找不到自己想要的
Fiddler啟動後,Web Session列表就會抓到很多HTTP請求,初學者往往會比較迷茫,因為找不到自己要抓的包。下面介紹幾個方法來找到自己要抓的包。

2.4.1停止抓包
最推薦使用這個方法。在抓包之前,先把Web Session裡面抓到的數據包全部清空,然後再操作網頁。在抓到想要的包後,就暫停抓包,這個方法簡單、實用。熟練使用這個方法後,就不需要使用其他過濾的方法了。抓包開關如圖2-18所示。

圖2-18抓包開關

2.4.2隻抓手機,不抓本地的包
在專門抓App的包的時候,Fiddler裡面混雜了本地計算機和手機App的包,如果只想抓手機App的包,這時候可以選擇「…from remote clients only」,如圖2-19所示。

圖2-19設置只抓遠程的包

2.4.3過濾會話
Fiddler有非常強大的過濾會話的功能,假如不想看到localhost的數據包,就可以把它隱藏。過濾的設置如圖2-20所示。注意,在設置時兩個Host之間要用分號隔開。

圖2-20用Filters選項卡隱藏localhost

注意:使用了Filters選項卡後,記得取消Filters選項卡。可能下次抓包的時候,忘記設置Filters選項卡而抓不到包。很多人犯過這個錯誤。

2.4.4隻抓特定的進程
在狀態欄中選擇Web Browsers或者Non-Browser來選擇進程,如圖2-21所示。此外,工具欄中還有個按鈕:Any Process,單擊這個按鈕把十字圖標拖曳到想要抓包的程序上面,就只會抓特定進程的包,如圖2-22所示。

圖2-21狀態欄上按進程過濾

圖2-22隻抓特定的進程

2.4.5觀察URL和HOST
觀察圖2-23中的URL,可知這是登錄相關的數據包。URL的命名都會是有意義的。比如登錄的介面會包含login,注銷的URL中會包含logout。

圖2-23觀察URL

2.4.6查看進程發包
進程是計算機中程序的一次運行活動。Fiddler的Process列對應本地Windows進程。通過這一列我們可以知道是哪個進程在發包,如圖2-24所示。

圖2-24在Fiddler中查看進程

2.5HTTPS是否安全
Fiddler能分析HTTPS流量是不是意味著HTTPS協議不安全?

HTTPS是安全的,Fiddler抓HTTPS的時候安裝了一個Fiddler的證書,所以Fiddler可以解密HTTPS的內容。HTTPS請求從計算機上發送到網路後,HTTPS的內容全部是加密的。

2.6計算機連接手機熱點抓包
在沒有Wi-Fi的情況下,我們用手機開熱點,計算機連接手機的熱點來上網,這個時候計算機上的Fiddler能否抓到手機上的包呢?答案是不能。因為手機開熱點後,採用的是GPRS手機流量上網,這個時候手機不能設置代理伺服器的,如圖2-25所示。

圖2-25WLAN熱點

如果有兩個手機,一台計算機,那麼就可以抓包了。一個手機當成熱點,另外一台手機和計算機都使用這個熱點上網,手機的代理就可以指向計算機了。

客戶端如何抓包
如果程序是用.NET開發的,那麼Fiddler可以抓到包。因為.NET程序默認會使用系統代理。如果程序是用別的語言開發的,只要這個程序支持用戶自定義代理,那麼Fiddler也可以抓到包,比如Fiddler可以抓QQ。

如果客戶端程序不支持代理,那麼Fiddler就抓不到包了。

2.7Fiddler測試App升級
Fiddler常用於App的升級測試,我們可以利用Fiddler偽造響應來測試App升級。

2.7.1App升級原理
App是否升級的檢查是在啟動App訪問伺服器時進行的,把本地計算機上App的最新版本號與伺服器端的最新版本號作對比,如果不一致就提示升級。

App升級的時候,App會發送一個HTTP請求,來問伺服器有沒有最新版。如圖2-26所示,如果沒有最新版,伺服器返回的HTTP響應中會說沒有更新。

圖2-26App沒有新版本

如果有最新版,伺服器返回的響應會告知有新版本,並且App端會有彈窗提示,如圖2-27和圖2-28所示。

圖2-27App有新版本

圖2-28App更新提示

2.7.2App升級的測試
在實際測試中,我們一般不會去修改伺服器,因為修改伺服器會遇到下述問題。

修改伺服器的代碼,需要有很好的代碼能力,99%的人做不到。
修改伺服器的代碼,還需要重新部署,耗時耗力。
不靈活,升級的情況有好幾種,每次修改都要重新部署。
用Fiddler來模擬升級比較簡單,如圖2-29所示。

圖2-29Fiddler模擬

我們用Fiddler偽造一個HTTP響應就可以了。可以用下斷點的方式修改HTTP響應,或者用Fiddler中的AutoResponder。接下來以堅果雲為例介紹一下升級。

2.7.3堅果雲的升級
堅果雲每次啟動的時候,都會調用一個latestVersion的介面來查詢伺服器,看客戶端有沒有更新的版本,如圖2-30所示。

對比HTTP響應中的版本和本地版本,如果伺服器返回的版本更高,那麼客戶端就會彈出對話框,提醒用戶升級App。

圖2-30堅果雲的升級

2.8短鏈接
短鏈接就是把普通網址轉換成比較短的網址(如https://dwz.cn/8oVtHHyH)。在微博或者其他限制字數的應用里,短鏈接有很多好處:網址短、字元少、美觀、便於發布和傳播。

我們平常工作中寫郵件使用短鏈接也會讓郵件更加簡潔和美觀。

2.8.1短鏈接原理解析
當我們在瀏覽器里輸入https://dwz.cn/8oVtHHyH時:

瀏覽器會發送一個HTTP GET請求給dwz.cn;
dwz.cn伺服器會通過短碼8oVtHHyH獲取對應的長網址;
伺服器返回HTTP 301或者302的響應,響應中包含了長網址;
瀏覽器會跳轉到長網址。
2.8.2使用短鏈接
短鏈接的服務提供商有很多,比如:網路短網址http://dwz.cn,如圖2-31所示。

圖2-31使用網路短網址

2.8.3Fiddler抓包短鏈接
打開Fiddler,再打開瀏覽器,輸入網址https://dwz.cn/8oVtHHyH。用Fiddler抓包短鏈接如圖2-32所示。

圖2-32Fiddler抓包短鏈接

從圖2-32中可以看到短鏈接的原理很簡單,利用HTTP協議的跳轉,用301或者302都可以。

2.9本章小結
本章介紹了Fiddler的常用使用技巧,包括抓包設置、抓不到包的解決方法等。讀者可以對照本章排查Fiddler使用過程中遇到的問題。此外,讀者還可以了解用Fiddler測試App升級和短鏈接的概念。

本文摘自:《HTTP抓包之介面自動化測試》

本書的內容都是我多年從事介面測試的經驗總結,非常貼近我們的實際工作,能幫助大家解決實際工作中的難題。

本書的內容比較簡單,實例豐富,讀者閱讀起來會感覺比較輕松、容易上手,讀完本書不需要花費太多時間。通過本書的學習,如果讀者能夠自行開發出一個訂票工具,或者實現一個電商網站的自動下訂單操作,那麼恭喜你,已經掌握了本書的所有知識。

本書的主要內容有HTTP的基礎知識;如何使用Fiddler來抓HTTP包;如何分析HTTP包;如何通過JMeter和Postman等發送HTTP包,從而實現軟體自動化測試和介面的自動化測試;如何使用抓包工具來實現安全測試和性能測試等;幾個日常生活中應用比較廣泛的綜合實例。

本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報。
展開剩餘內容
打開APP閱讀全文並永久保存
更多類似文章
猜你喜歡

類似文章
Fiddler和app抓包
fiddler對瀏覽器、app抓包及證書安裝
你想要的Fiddler抓包實操小技巧
python爬蟲教程:教你通過 Fiddler 進行手機抓包
利用Fiddler 可以抓取HTTPS
抓包|獲取移動app里的數據
更多類似文章 >>
生活服務


首頁萬象文化人生生活健康
教育職場理財娛樂藝術上網
留言交流回頂部
聯系我們
觸屏版| 下載APP

京ICP證090625號 京ICP備05038915號

京網文[2019]6000-697號 京公網安備 11010502030377號

關注公眾號
保存
生成長圖
分享

2. #!/usr/bin/env python與#!/usr/bin/python的區別

在unix類的操作系統才有意義。

#!/usr/bin/python是告訴操作系統執行這個腳本的時候,調用/usr/bin下的python解釋器。

#!/usr/bin/env python這種用法是為了防止操作系統用戶沒有將python裝在默認的/usr/bin路徑里。當系統看到這一行的時候,首先會到env設置里查找python的安裝路徑,再調用對應路徑下的解釋器程序完成操作。

(2)pythontomcat日誌擴展閱讀:

Python是一種計算機程序設計語言。是一種動態的、面向對象的腳本語言,最初被設計用於編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越來越多被用於獨立的、大型項目的開發。

Python常用的代碼:,

1,生成隨機數

rnd=random.randint(1,500):生成1-500之間的隨機數

2,讀文件

f=open("c:\1.txt","r")

lines=f.readlines()

forlineinlines

printline

3,寫文件

f=open("c:\1.txt","r+"):可讀可寫模式

f.write("123"):寫入字元串

4正則表達式,讀取tomcat的日誌並列印日期

importre

regx="dddd-dd-d+"

f=open("c:stdout.log","r")

i=0

forstrinf.readlines():

ifre.search(regx,str):

Response.write(str+"<br>")

ifi>10:break

i=i+1

f.close();

5,連接資料庫

importpgdb

conn=pgdb.connect

(host='localhost',databse='qingfeng',user='qingfeng',password='123')

cur=conn.cursor()

cur.execute("select * from dream")

printcur.rowcount

3. 如何批量拷貝日誌到本機

可以給一個思路,首先30台機器應該是互相聯網的吧,他們之間可以相互通信,那先找一台機器作為存放所有數據的伺服器,然後在裡面分配一個目錄用來存放你說的240條log
然後在30台機器上都設置一個cronjob,定時的將log拷貝到哪台機器的共享目錄下
假設哪台server是192.168.1.100,共享目錄是/local/log,
那每台機器需要做的操作就是(假設早上8點拿數據)
0 8 * * * scp /app/nginx_tomcat/tomcat/2014-07-07.log linux_username:[email protected]:/local/log/2014-07-07-100.log
(用來區分不同的主機的log)
然後在192.168.1.100上多寫一個打包的job
30 8 * * * tar -zcvf /local/2014-07-07.tar.gz /local/log
其實可以寫個簡單的腳本,包括打包,清空目錄,和發送郵件

4. IIS、Apache、Tomcat、Nginx、CDN,它們之間有何區別

一個學習的總結,或者說是匯總,有些鏈接給出的觀點過時,已按照自己的理解經過修改編輯;

web伺服器

Web伺服器的基本功能就是提供Web信息瀏覽服務,響應客戶端的瀏覽器請求。因為Web伺服器主要支持的協議就是HTTP,所以通常情況下HTTP伺服器和WEB伺服器是相等的。待考:支持除HTTP之外的協議的web伺服器?

不支持事務處理或資料庫連接池,但它可以配置各種策略來實現容錯性和可擴展性,例如負載平衡,緩沖,集群。

IIS、Apache、Tomcat都可以屬於Web伺服器。

IIS 是微軟開發的web伺服器,需要收費,主要用來跑 asp.net asp php,只能在windows下運行。


Apache與Tomcat都是Apache開源組織開發的用於處理HTTP服務的項目,兩者都是免費的,都可以做為獨立的Web伺服器運行。Apache是Web伺服器而Tomcat是java應用伺服器。Apache伺服器 只處理 靜態HTML,而tomcat伺服器 靜態HTML 動態 JSP Servlet 都能處理。

一般是把 Apache伺服器 與 tomcat伺服器 搭配在一起用:

1) Apache伺服器 負責處理所有 靜態的 頁面/圖片 等信息。

2) Tomcat 只處理動態的 部分。

Apache:是C語言實現的,專門用來提供HTTP服務。特性:簡單、速度快、性能穩定、可配置(代理)

1、主要用於解析靜態文本,並發性能高,側重於HTTP服務;

2、支持靜態頁(HTML),不支持動態請求如:CGI、Servlet/JSP、PHP、ASP等;3、具有很強的可擴展性,可以通過插件支持PHP,還可以單向Apache連接Tomcat實現連通;

4、Apache是世界使用排名第一的Web伺服器。

Tomcat:是Java開發的一個符合JavaEE的Servlet規范的JSP伺服器(Servlet容器),是 Apache 的擴展。特性:免費的Java應用伺服器

1、主要用於解析JSP/Servlet,側重於Servlet引擎;

2、支持靜態頁,但效率沒有Apache高;支持Servlet、JSP請求;

3、Tomcat本身也內置了一個HTTP伺服器用於支持靜態內容,可以通過Tomcat的配置管理工具實現與Apache整合。

Apache + Tomcat:兩者整合後優點:如果請深圳市是靜態網頁則由Apache處理,並將結果返回;如果是動態請求,Apache會將解析工作轉發給Tomcat處理,Tomcat處理後將結果通過Apache返回。這樣可以達到分工合作,實現負載遠衡,提高系統的性能。apache是web伺服器,tomcat是應用(java)伺服器,它只是一個servlet容器,可以認為是apache的擴展,但是可以獨立於apache運行。獨立於apache運行。換句話說,apache是一輛卡車,上面可以裝一些東西如html等。但是不能裝水,要裝水必須要有容器(桶),而這個桶也可以不放在卡車上。

Nginx是俄羅斯人編寫的十分輕量級的HTTP伺服器,Nginx,它的發音為「engine X」,是一個高性能的HTTP和反向代理伺服器,同時也是一個IMAP/POP3/SMTP 代理伺服器。

Nginx與Apache比較:

1)輕量級,同樣起web 服務,比apache佔用更少的內存及資源 ;

2)高並發,nginx 處理請求是非同步非阻塞的,而apache 則是阻塞型的,在高並發下nginx 能保持低資源低消耗高性能 ;

3)高度模塊化的設計,編寫模塊相對簡單 ;

4)提供負載均衡;

5)apache是同步多進程模型,一個連接對應一個進程;nginx是非同步的,多個連接(萬級別)可以對應一個進程;

Web Server中文名稱叫網頁伺服器或web伺服器。WEB伺服器也稱為WWW(WORLD WIDE WEB)伺服器,主要功能是提供網上信息瀏覽服務 IIS

IIS是微軟公司的Web伺服器。主要支持ASP語言環境,對於中小企業來說建立自己的網站,對外展示自己的頁面是最平常不過的事情了。目前最流行的建立WWW服務工具就要屬Apache與IIS了。 IIS只能在微軟公司的windows操作系統下使用,離開了windows他將一事無成。無法移植到其他類型的操作系統中。

Tomcat

java裡面一個web容器,就是一個http請求來了,它幫你接受,可能再對請求做些處理,然後拉起你controller的代碼,把請求傳進去,最後當controller處理結束後,再把請求簡單處理一下返回給請求者。

Tomcat 伺服器是一個免費的開放源代碼的Web 應用伺服器,屬於輕量級應用伺服器,在中小型系統和並發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP 程序的首選。對於一個初學者來說,可以這樣認為,當在一台機器上配置好Apache 伺服器,可利用它響應HTML(標准通用標記語言下的一個應用)頁面的訪問請求。實際上Tomcat 部分是Apache 伺服器的擴展,但它是獨立運行的,所以當你運行tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。

CDN

中文叫內容分發網路,都是雲服務商在運營,它可以讓你的用戶在訪問資源的時候就近訪問,提高靜態資源的訪問速度。

這些都是不同的東西,不過都是概念上的,功能上有一定的重疊,不過在使用中基本都是不同的東西。

一般生產上iis,nginx,apache都是當反向代理用,少數情況會當靜態文件伺服器用。tomcat,無論何時都是web容器。cdn一般只在生產上用,主要是提供靜態文件服務。

至於他們的實現,理論上講用什麼語言否沒問題,不管是java node還是啥的,不過有現成的,應該沒人會造新的。

Apache

Apache是一個web伺服器環境程序 啟用他可以作為web伺服器使用 不過只支持靜態網頁. 但asp,php,cgi,jsp等動態網頁的就不行. 如果要在APACHE環境下運行jsp 的話就需要一個解釋器來執行jsp網頁, 而這個jsp解釋器就是TOMCAT, 為什麼還要JDK呢?因為jsp需要連接資料庫的話就要jdk來提供連接資料庫的驅程,所以要運行jsp的web伺服器平台就需要APACHE+TOMCAT+JDK 整合的好處是:如果客戶端請求的是靜態頁面,則只需要Apache伺服器響應請求如果客戶端請求動態頁面,則是Tomcat伺服器響應請求因為jsp是伺服器端解釋代碼的,這樣整合就可以減少Tomcat的服務開銷。

apache是web伺服器,tomcat是應用(java)伺服器,它只是一個servlet(jsp也翻譯成servlet)容器,可以認為是apache的擴展。

Apache:普通伺服器,本身只支持html即普通網頁,它是html容器,功能像IIS一樣

tomcat:解釋java程序(jsp,serverlet),它是是jsp/servlet容器,用於發布JSP及JAVA的

apache是一輛卡車,上面可以裝一些東西如html等。但是不能裝水,要裝水必須要有容器(桶),tomcat就是一個桶(裝像JAVA這樣的水),而這個桶也可以不放在卡車上。

訣竅是, 當配置正確時,Apache 為HTML頁面服務,而Tomcat 實際上運行JSP 頁面和Servlet。另外,Tomcat和IIS等Web伺服器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態HTML的能力不如Apache伺服器。目前Tomcat最新版本為9.0。

Nginx

Nginx是俄羅斯人編寫的十分輕量級的HTTP伺服器,Nginx,它的發音為「engine X」,是一個高性能的HTTP和反向代理伺服器,同時也是一個IMAP/POP3/SMTP 代理伺服器。

nginx相對於apache的優點

輕量級,同樣起web 服務,比apache佔用更少的內存及資源

抗並發,nginx 處理請求是非同步非阻塞的,而apache 則是阻塞型的,在高並發下nginx 能保持低資源低消耗高性能

高度模塊化的設計,編寫模塊相對簡單

提供負載均衡

社區活躍,各種高性能模塊出品迅速

總結

Nginx優點:負載均衡、反向代理、處理靜態文件優勢。nginx處理靜態請求的速度高於Apache優點:相對於Tomcat伺服器來說處理靜態文件是它的優勢,速度快。Apache是靜態解析,適合靜態HTML、圖片等。

Tomcat:動態解析容器,處理動態請求,是編譯JSPServlet的容器,Nginx有動態分離機制,靜態請求直接就可以通過Nginx處理,動態請求才轉發請求到後台交由Tomcat進行處理。

Apache在處理動態有優勢,Nginx並發性比較好,CPU內存佔用低,如果rewrite頻繁,那還是Apache較適合。

反向代理的理解:

反向代理(Reverse Proxy)方式是指以代理伺服器來接受internet上的連接請求,然後將請求轉發給內部網路上的伺服器,

並將從伺服器上得到的結果返回給internet上請求連接的客戶端,此時代理伺服器對外就表現為一個伺服器。

您的提問,有我回答,我是IT屠工!

IIS

IIS是互聯網信息服務,是由微軟公司提供的基於運行Microsoft Windows的互聯網基本服務。

IIS是一種Web(網頁)服務組件,其中包括Web伺服器、FTP伺服器、NNTP伺服器和SMTP伺服器,分別用於網頁瀏覽、文件傳輸、新聞服務和郵件發送等方面,它使得在網路(包括互聯網和區域網)上發布信息成了一件很容易的事。

IIS的功能

IIS是一個World Wide Web server。Gopher server和FTP server全部包容在裡面。 IIS支持一些有趣的東西,像有編輯環境的界面(FRONTPAGE)、有全文檢索功能的(INDEX SERVER)、有多媒體功能的(NET SHOW)。

其次,IIS是隨Windows NT Server 4.0一起提供的文件和應用程序伺服器,是在Windows NT Server上建立Internet伺服器的基本組件。它與Windows NT Server完全集成,允許使用Windows NT Server內置的安全性以及NTFS文件系統建立強大靈活的Internet/Intranet站點。

Apache

Apache HTTP Server(簡稱Apache)是Apache軟體基金會的一個開放源碼的網頁伺服器,可以在大多數計算機操作系統中運行,由於其多平台和安全性被廣泛使用,是最流行的Web伺服器端軟體之一。它快速、可靠並且可通過簡單的API擴展,將Perl/Python等解釋器編譯到伺服器中。

Apache HTTP伺服器是一個模塊化的伺服器,源於NCSAhttpd伺服器,經過多次修改,成為世界使用排名第一的Web伺服器軟體。它可以運行在幾乎所有廣泛使用的計算機平台上。

Apacheweb伺服器軟體主要功能:

1.支持最新的HTTP/1.1通信協議

2.擁有簡單而強有力的基於文件的配置過程

3.支持通用網關介面

4.支持基於IP和基於域名的虛擬主機

5.支持多種方式的HTTP認證

6.集成Perl處理模塊

7.集成代理伺服器模塊

8.支持實時監視伺服器狀態和定製伺服器日誌

9.支持伺服器端包含指令(SSI)

10.支持安全Socket層(SSL)

11.提供用戶會話過程的跟蹤

12.支持FastCGI

13.通過第三方模塊可以支持JavaServlets

Tomcat

Tomcat是Apache 軟體基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發而成。由於有了Sun 的參與和支持,最新的Servlet 和JSP 規范總是能在Tomcat 中得到體現,因為Tomcat 技術先進、性能穩定,而且免費,因而深受Java 愛好者的喜愛並得到了部分軟體開發商的認可,成為目前比較流行的Web 應用伺服器。

Tomcat 伺服器是一個免費的開放源代碼的Web 應用伺服器,屬於輕量級應用伺服器,在中小型系統和並發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP 程序的首選。對於一個初學者來說,可以這樣認為,當在一台機器上配置好Apache 伺服器,可利用它響應HTML(標准通用標記語言下的一個應用)頁面的訪問請求。實際上Tomcat是Apache 伺服器的擴展,但運行時它是獨立運行的,所以當你運行tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。

當配置正確時,Apache 為HTML頁面服務,而Tomcat 實際上運行JSP 頁面和Servlet。另外,Tomcat和IIS等Web伺服器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態HTML的能力不如Apache伺服器。

Nginx

Nginx 是一款自由的、開源的、高性能的 HTTP 伺服器和反向代理伺服器;同時也是一個 IMAP、POP3、SMTP 代理伺服器。

Nginx 可以作為一個 HTTP 伺服器進行網站的發布處理,另外 Nginx 可以作為反向代理進行負載均衡的實現。

CDN

CDN的全稱是Content Delivery Network,即內容分發網路。CDN是構建在現有網路基礎之上的智能虛擬網路,依靠部署在各地的邊緣伺服器,通過中心平台的負載均衡、內容分發、調度等功能模塊,使用戶就近獲取所需內容,降低網路擁塞,提高用戶訪問響應速度和命中率。CDN的關鍵技術主要有內容存儲和分發技術。

CDN網路中包含的功能實體包括內容緩存設備、內容交換機、內容路由器、CDN內容管理系統等組成。

CDN具有以下主要功能:

1.節省骨幹網帶寬,減少帶寬需求量;

2.提供伺服器端加速,解決由於用戶訪問量大造成的伺服器過載問題;

3.服務商能使用Web Cache技術在本地緩存用戶訪問過的Web頁面和對象,實現相同對象的訪問無須佔用主幹的出口帶寬,並提高用戶訪問網際網路頁面的相應時間的需求;

4.能克服網站分布不均的問題,並且能降低網站自身建設和維護成本;

5.降低「通信風暴」的影響,提高網路訪問的穩定性。

以上是我的回答,希望可以幫助到您!

iis apache nginx屬於一類,都是web服務,本身提供靜態文件訪問功能,同時又可以通過擴展接入其他語言的解析。tomcat是針對java類的web服務容器。可以這樣理解iis apache nginx是阿里,tomcat是京東。而cdn只是一種服務的統稱,用到的web伺服器則可能不同,有用nginx實現cdn的,也有自研的。

這類再簡單介紹一下,iis主要針對微軟系的語言。當然也支持php等。但是主要用於微軟系。

apache主要以擴展方式運行,比如php,如果想在apache里運行,你得給apache寫個擴展,這樣才可以跑php,也就是耦合度比較高。

nginx以性能聞名。運行web主要靠反向代理和協議。這樣其他語言只需要按照協議通訊即可無需開發nginx擴展。耦合度低。

5. Python的BaseHTTPServer監聽埠只能通過localhost打開,內網IP不能訪問

下面是java的例子,但是原理一樣的
【起因】
同事要參考我寫的一個項目的效果,在本機發布以後發現通過區域網IP無法訪問,但是localhost和127.0.0.1可以訪問
【經過】

配置tomcat的server.xml, 更改connector配置, 埠不用改, 加上address="0.0.0.0", 使其綁定到IPv4, 如下

(借鑒的解決方案)
<1>使用cmd命令netstat -n, 查看tomcat地址綁定, 發現是綁定到127.0.0.1
<2>配置tomcat的server.xml, 更改connector配置, 埠不用改, 加上address="0.0.0.0", 使其綁定到IPv4
<Connector port="8080" maxHttpHeaderSize="8192" address="0.0.0.0"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<3>重啟tomcat, 再次使用netstat -n, 查看tomcat地址綁定, 已變為IPv4.

【結果】
可以通過區域網IP訪問了。

6. cp:cannot stat no such file or directory怎麼解決

no such file or directory 意思是: 沒用這樣的文件和文件夾

解決方法:

1.查一下 文件名 和 路徑的 拼寫 有無錯誤。

2.cp 是 的意思 (linux/unix 文件復制 命令)。

熱點內容
改裝車載中控什麼配置 發布:2025-02-12 15:10:00 瀏覽:860
資料庫體系結構 發布:2025-02-12 15:09:48 瀏覽:691
小米賬號為什麼設置不了密碼 發布:2025-02-12 15:03:57 瀏覽:263
android訪問網路許可權 發布:2025-02-12 14:55:20 瀏覽:88
原神文件夾 發布:2025-02-12 14:50:15 瀏覽:800
c語言數字翻譯 發布:2025-02-12 14:45:54 瀏覽:497
暗區突圍為什麼顯示伺服器維修 發布:2025-02-12 14:45:53 瀏覽:247
翻譯分為匯編和編譯 發布:2025-02-12 14:29:12 瀏覽:233
什麼是新聞編譯 發布:2025-02-12 14:23:12 瀏覽:853
如何查看手機存儲 發布:2025-02-12 14:21:15 瀏覽:50