“嗨,阿米戈!”

“你好,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,但我如何为它编写程序呢?”

“我希望它能生成一些有趣的东西——某种很酷的网页。”

“好吧,我会在短暂的休息后告诉你如何做到这一点。”