WeSeong 登录
← 返回文章列表
WEB

3层, Nginx (WEB), Tomcat (WAS)

3层, Nginx (WEB), Tomcat (WAS)

下一篇预览 ... 🫠 为了完成 3Tier, 我们正在尝试将 DB 服务器与现有的 Nginx 服务器和 Tomcat 服务器集成。


Ⅰ. 概述

让我们来了解一下 3层结构。3层通常由 Web 服务器、WAS 服务器和 DB 服务器组成。在提供服务时,这个基本框架不会发生变化,但具体的配置和环境设置可能会根据架构而有所不同。在实践环节中,我们将构建一个 Nginx 服务器,使其作为 Web 服务器运行。一旦 Nginx 服务器正常运行,我们将安装基于 Tomcat 的 WAS 服务器。在连接 Nginx 服务器和 Tomcat 服务器后,我们将检查是否连接了 WAS 服务器,从而访问 Web 服务器。



Ⅱ. 3层


https://docs.aws.amazon.com/ko_kr/whitepapers/latest/serverless-multi-tier-architectures-api-gateway-lambda/three-tier-architecture-overview.html

3层架构如上图所示,在提供一项服务时 三台服务器运行的结构这意味着主要向客户端直接显示的前端工作已经完成。 WEB 服务器当客户端使用该服务时,它会执行特定的操作或与数据库进行交互,以向客户端显示所需的信息。 WAS 服务器有一个 WAS 服务器。 DB 服务器 您还可以查询数据库、插入数据或执行修改和删除数据等操作。DB 服务器是存储数据的数据库。在提供服务时,此基本框架不会发生变化,但 体系结构有关提供服务的政策的详细信息可能会发生变化。


※ 体系结构什么是架构呢?它指的是描述系统配置和运行原理的概念,说明各组件与外部环境之间的关系,以及描述系统组件设计和实现的支持程度。这可能很难理解。我们来简单一点说:当我们创建一个网站时,架构指的是设计将如何进行,在会员注册时会收集多少个人信息,普通成员、非会员等将被赋予多少权限,在商城的情况下,谁可以进行评论,非会员是否可以下单等等。简而言之,它指的是按照特定网站的目的,如何整体提供、展示和管理服务。架构有很多种类,是一个非常广泛的领域,需要大量研究。如果您想了解更多,我们建议您进行搜索。


换句话说,当用户输入 Naver 地址并连接时,WEB 服务器 通过 IP 地址进行访问do (我们只是 www.naver.com 即使你输入它,也不会显示出来。 DNS 服务器这通过访问 Neaver 的 Web 服务器来实现。Web 服务器起着通向 WAS 服务器的网关作用,因此可通过 Web 服务器使用 WAS 服务器提供的服务。 各种服务例如,当我们登录时,WEB 服务器会调用由 WAS 服务器实现的与登录相关的服务,或者当我们点击 Naver 上的新闻、购物或体育标签时,WEB 服务器也会调用由 WAS 服务器实现的服务。 毕竟,WAS 服务器是实际的服务提供者。 但是,大量数据(例如登录时的会员信息、搜索时显示的各种信息、新闻、购物产品等)并不存储在 WAS 服务器上。 DB (数据库) 服务器因此,WAS 服务器连接到 DB 服务器。 检索并导入适合所提供服务的数据。 例如,当用户发布博客条目时,WAS 服务器可以请求 DB 服务器将新发布的博客条目存储为数据,进行修改或删除。DB 服务器执行实际的存储、修改和删除操作,并将数据存储起来。 将 DB 服务器视为存储我们在网站上遇到的所有数据的地方。


※ 由于这是一个简单的 3 层架构,还有很多细节需要研究和补充,例如如何配置网络架构和防火墙,以及如何连接多个 WAS 服务器和 WEB 服务器。



Ⅲ. Nginx

在开始练习之前,了解一些简单的命令会很有帮助。

命令

功能说明

sudo apt install nginx(包名)

使用管理员权限安装该包。

sudo apt remove nginx

删除使用管理员权限安装的软件包。

sudo systemctl stop nginx(服务器)

停止正在以管理员权限运行的服务器。

sudo systemctl start nginx

使用管理员权限运行服务器。

sudo systemctl restart nginx

使用管理员权限重新启动服务器。

sudo systemctl enable nginx

将服务器注册为具有管理员权限的启动程序(类似于 Windows 中的启动程序)。

sudo systemctl disable nginx

使用管理员权限将服务器从启动程序中删除。

这些是与安装、删除、启动、重新启动和停止服务器相关的系统命令,了解它们可能会很有用。

我计划安装最常用的 Web 服务器 Nginx,并练习构建 3Tier 系统。还有 Tomcat,但每个都有其优缺点。简单地说, 对于 Nginx,在流量高时,性能优于 Tomcat。 Tomcat 是 有很多子项目,它们在功能和模块扩展方面都有优势。


  1. 安装 Nginx 服务器。

  • sudo apt update

  • sudo apt install nginx



※ 只要安装完 nginx 服务器,就可以将其注册为由 systemctl (系统命令) 来控制,服务器会自动启动。您可以通过运行 'netstat -anp | grep nginx' 来检查此操作。


2. 连接到 Nginx 服务器

如果考虑文件结构, /etc 通常包含配置文件, /var 通常包含数据文件或日志文件。Nginx 服务器也是如此。 /etc/nginx有一个配置文件 /var/www/html其中包含实现源文件。


您可以通过访问 /sites-available/default 详细查看配置文件。


稍后我们将返回此部分,为与 WAS 服务器集成进行必要的设置。


/var/www/html现在index.html 我们将创建一个文件,并实际连接到 WEB 服务器。一旦我们导航到此路径,我们将使用 vi 编辑器创建一个 index.html 文件。html创建一个并简单地写入内容。


我是这样写的,如果这里有任何提示, vim 安装此包后,使用 vi 编辑器会更加方便。或者

cat > 파일명
cat >> 파일명

查看文件内容时 'cat' 使用命令 '> 如果输入文件名,则可以创建带有该名称的文本文件。如果文件名相同,'>在这种情况下,内容将被覆盖,并且以下内容将被覆盖:>>在这种情况下,会添加内容。


现在是时候检查我们创建的 index.html 文件的内容是否在连接到 Nginx 服务器时正确显示了。使用我们之前提到的 'netstat -anp | grep nginx' 命令,我们可以看到服务器正在运行。 聆听 检查状态后,如果状态正确,请立即尝试连接。


'ifconfig'只需连接到显示的 IP 地址即可。当您输入



你可以看到它的效果有多好!


※ 作为一个提示 HTTP 响应 我想分享一下在该方面可以看到的状态码。由于这是一个简要总结,我建议您查阅详细信息。

状态码

状态描述

100 系列

客户端已经向服务器发送了请求,服务器也在等待该请求。

200 系列

当客户端和服务器正常通信时,您可以看到这一点。

300 系列

服务器要求客户端执行额外的工作(重定向)以完成请求。

400 系列

当客户端无法从服务器接收相应资源时发生。

500 系列

这意味着服务器本身存在错误。



Ⅳ. Tomcat

然后安装 Tomcat WAS 服务器我们将从使用 Tomcat 的实践操作开始。安装过程看起来可能有些复杂,但其实并不难。

Apache Tomcat® - Apache Tomcat 9 软件下载


首先,上面 Tomcat 网页上的 tar.gz最新版本为 9.0.82,其他版本可从网站下载。要安装的文件的路径为程序安装目录。 /usr/local 您可以使用 'wget' 命令下载它。移动到 /usr/local 目录,并解压使用 wget 下载的 tomcat 文件。


它会看起来像这样。解压后,您可以保留文件名,或者自由更改它。


如果你走进里面,会是这样的。 /conf是与配置相关的目录, /lib这里有一个库,我们稍后将在该路径上安装用于连接 DB 服务器的连接器。 /webapps 目录是存储与 Web 服务相关的文件(如 JSP、CSS 和 HTML)的位置。然后,您可以安装 JAVA 语言。

sudo apt install openjdk-17-jdk

它安装了 Java 17。最近,Spring 框架也支持 17 及更高版本,而对于 8 版本,支持期限并不长,因此我认为许多人都在使用 17 版本。要检查 Tomcat 服务器是否正常运行,可以使用以下命令: /usr/local/apache-tomcat-9.0.82/bin 输入路径 startup.sh 您只需要运行脚本文件。由于 Tomcat 单独安装,而不是使用 'apt' 命令,服务器不会自动启动。


服务器关闭 shutdown.sh 只需运行脚本文件即可。


服务器运行正常。 聆听 您可以检查状态。对于 Tomcat,默认端口为 8080这是需要了解的事情。


现在,让我们连接到 IP 地址和端口号为 8080 的 Tomcat 服务器,并确保它正常工作。 Nginx 服务器的 /etc/nginx/sites-available/default 修改配置文件。


添加 proxy_pass 和 index.jsp,如下所示。 'sudo systemctl restart nginx'如果您提供 URL 并连接到 WEB 服务器 IP 地址,



您可以看到,连接到 Tomcat (WAS) 服务器的连接运行良好!!!



评论

我认为安装和连接 Web 服务器和 WAS 服务器的过程并不复杂。由于后面要发布的 DB 服务器有点棘手,我打算从头开始尝试研究一下,就像我在重建时发布时所做的那样。 😄