“嗨,阿米戈!”

“你好,Bilaabo!我們今天要做什麼?”

“今天我要告訴你如何安裝 Tomcat 網絡服務器。”

安裝和配置 Tomcat - 1

“什麼是網絡服務器?什麼是常規服務器?”

“有一種程序交互方式稱為客戶端-服務器關係。服務器為客戶端請求提供服務。客戶端將請求發送到服務器,服務器完成請求並返回結果。”

》想像一個店員在一家店里為顧客服務,在這種情況下,店員其實就是服務器,店裡的顧客就是客戶,店員售出的產品就是處理請求的結果(服務器工作的結果) ”

“換句話說,服務器是為客戶的請求/訂單/需求提供服務的服務器,對嗎?”

“是的。”

“好的,那什麼是網絡服務器?”

“網絡服務器是一種服務於來自用戶瀏覽器的頁面請求的程序。”

“當你在瀏覽器中輸入特定的 URL 時,請求會發送到服務器,服務器處理請求,生成網頁,然後將其發送回瀏覽器。”

安裝和配置 Tomcat - 2

“Web服務器就是服務器,瀏覽器就是客戶端,URL就是請求,網頁就是處理請求的結果。”

「啊。情況慢慢明朗了。換句話說,網絡服務器就是為瀏覽器生成頁面的程序(?)。對吧?」

“是的。”

“讓我們使用一個普通的 URL:”

解析網址
http://codegym.cc/alpha/api/contacts ? _ _ _ _ userid=13&filter=none&page=3
URL 部分的描述
codegym.cc 是  互聯網上計算機的唯一名稱(地址)的域名
http 是  客戶端-服務器通信的協議
alpha/api/contacts 是 web 服務器請求或請求服務器上的網頁
userid=13 &filter=none & page=3 是web服務器請求或者請求服務器上的某個網頁

“查一下,我們弄來一台電腦,連上網絡。”

“那我們給它買個域名。”

“然後我們在上面運行一個網絡服務器。”

“現在您可以通過輸入帶有域名的 URL,從任何瀏覽器向該 Web 服務器發送請求。”

“我想我明白。”

“我將分享一個類比,讓一切更清楚一點。”

解析URL對話
English :// Jason /傳給我文件夾數字=13
部分網址說明
Jason 是一台計算機在互聯網上的唯一名稱
英文 是客戶端-服務器通信的協議
pass me folder 是web服務器請求,或者是對服務器上某個網頁的請求
number=13 是帶有請求參數的字符串

“啊,真是清楚多了,謝謝。”

“還不止這些,有時一台電腦上運行著好幾台網絡服務器,為了區分它們,還給它們分配了編號。”

“將域想像成一座建築物。如果一個家庭住在建築物中,那麼您會寫類似 «5 Third Anti-Martian Uprising St.» 的內容 給他們寄信的時候。”

“現在想像一下,有幾戶人家住在這棟樓裡。”

“像公寓樓?”

“正是!很像,謝謝你的類比。”

“大樓內,有很多公寓。有些公寓無人居住。有些公寓被網絡服務器佔用。當你向網絡服務器發送請求時,你還必須指定公寓號。在 URL 中,這個號碼稱為港口。”

“例如:”

http://codegym.cc:80/alpha/api/contacts ? _ _ _ _ userid=13&filter=none&page=3
http://codegym.cc:8080/alpha/api/contacts ? _ _ _ _ userid=13&filter=none&page=3
http://codegym.cc:443/alpha/api/contacts ? _ _ _ _ userid=13&filter=none&page=3

“在現實中,所有的服務器都是公寓樓。並且每個都有65,000個公寓(端口)。”

“為什麼是六萬五千?”

“兩個字節用於表示端口號。65536 是兩個字節長的最大整數值。”

“每個協議(http、https、ftp 等)都有自己的默認端口。”

“如果未指定公寓號(端口),則使用協議的默認端口。”

“如果協議是 http,那麼端口是 80。如果協議是 https,那麼端口是 443,等等。”

“換句話說,以下條目是等效的:”

網址 這到底意味著什麼
http://www.mail.google.com _ http://www.mail.google.com:80 _ _
http://codegym.cc _ http://codegym.cc:80 _ _
http://codegym.cc/alpha _ http://codegym.cc:80/alpha _ _ _
https://codegym.cc/api?x _ https://codegym.cc:443/api?x _ _ _

“如果端口是 444,但協議是 https 怎麼辦?”

“我已經告訴你了,如果不指定端口,則根據協議確定。如果指定,則使用指定的端口。”

“我懂了。”

“你知道人類有時如何使用代詞而不是名字:我、你、他……?”

“是的,但人天生就是奇怪的。我盡量不去注意這一點。”

“嗯,計算機也有一個域名,意思是‘我’。它是‘localhost’。”

“如果您在瀏覽器中輸入localhost,瀏覽器將訪問您的計算機。”

“如果你安裝了網絡服務器,它就會向瀏覽器發送一個網頁。”

“太棒了!我想啟動一個網絡服務器並在瀏覽器中打開頁面。”

“告訴我該怎麼做,Bilaabo。拜託!!!你是我的朋友,對吧?”

“Bilaabo 願意為朋友做任何事情。”

“聽好了。”

步驟1
安裝 Java 開發工具包 (JDK)
結果
JDK 已安裝

“Bilaabo,我是一個30級的程序員,我很早就安裝了JDK!”

“很好,那我們繼續吧。”

第2步
下載 Tomcat 9
提示 1:
使用谷歌
提示 2:
官方 Apache Tomcat 網頁
提示 3(Windows 用戶的直接鏈接):
下載 Apache Tomcat

“知道了。”

“偉大的。”

步驟 3
安裝 Tomcat 9
使用默認安裝設置。
不要改變任何東西。
屏幕 3
安裝和配置 Tomcat - 3
屏幕 4
安裝和配置 Tomcat - 4

“在這裡你可以設置網絡服務器的名稱和端口。默認是8080端口。
不要改變任何東西。一切保持原樣。”

屏幕 5
安裝和配置 Tomcat - 5

指定安裝JDK的文件夾

屏幕 6
安裝和配置 Tomcat - 6
屏幕 7
安裝和配置 Tomcat - 7

“是的。我只是點擊了下一步,就是這樣。”

“太好了。現在你已經安裝並運行了一個 Tomcat 9 網絡服務器,監聽端口 8080 上的請求。這是軟件開發的標準端口。”

“好吧,我有了 Tomcat,但我如何為它編寫程序呢?”

“我希望它能生成一些有趣的東西——某種很酷的網頁。”

“好吧,我會在短暫的休息後告訴你如何做到這一點。”