“嗨,阿米戈!”
“你好,Bilaabo!我们今天要做什么?”
“今天我要告诉你如何安装 Tomcat 网络服务器。”

“什么是网络服务器?什么是常规服务器?”
“有一种程序交互方式称为客户端-服务器关系。服务器为客户端请求提供服务。客户端将请求发送到服务器,服务器完成请求并返回结果。”
》想象一个店员在一家店里为顾客服务,在这种情况下,店员其实就是服务器,店里的顾客就是客户,店员售出的产品就是处理请求的结果(服务器工作的结果) ”
“换句话说,服务器是为客户的请求/订单/需求提供服务的服务器,对吧?”
“是的。”
“好的,那什么是网络服务器?”
“网络服务器是一种服务于来自用户浏览器的页面请求的程序。”
“当你在浏览器中输入特定的 URL 时,请求会发送到服务器,服务器处理请求,生成网页,然后将其发送回浏览器。”

“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 服务器发送请求。”
“我想我明白。”
“我将分享一个类比,让一切更清楚一点。”
解析 |
---|
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 |

屏幕 4 |
---|

“在这里你可以设置网络服务器的名称和端口。默认是8080端口。
不要改变任何东西。一切保持原样。”
屏幕 5 |
---|

指定安装JDK的文件夹
屏幕 6 |
---|

屏幕 7 |
---|

“是的。我只是点击了下一步,就是这样。”
“太好了。现在你已经安装并运行了一个 Tomcat 9 网络服务器,监听端口 8080 上的请求。这是软件开发的标准端口。”
“好吧,我有了 Tomcat,但我如何为它编写程序呢?”
“我希望它能生成一些有趣的东西——某种很酷的网页。”
“好吧,我会在短暂的休息后告诉你如何做到这一点。”
GO TO FULL VERSION