WeSeong 登录
← 返回文章列表
网络

三层架构,使用 Nginx (作为 Web 服务器) 和 Tomcat (作为 Web 应用服务器)

三层架构,使用 Nginx (作为 Web 服务器) 和 Tomcat (作为 Web 应用服务器)

以下文章预告... 为了实现3层架构的完整性,我计划将现有的Nginx服务器和Tomcat服务器与数据库服务器连接起来。


一、概述

探讨三层架构。三层架构通常由 Web 服务器 - 应用服务器 - 数据库服务器组成。在提供服务时,这个基本框架不会改变,但根据架构的不同,细致的配置和环境设置可能会有所不同。通过实践,我们将搭建 Nginx 服务器,并将其作为 Web 服务器运行。如果 Nginx 服务器正常运行,我们将基于 Tomcat 安装应用服务器。在与 Nginx 服务器连接后,确认 Web 服务器是否能够连接到应用服务器。



Ⅱ. 三层架构


https://docs.aws.amazon.com/ko_kr/whitepapers/latest/serverless-multi-tier-architectures-api-gateway-lambda/three-tier-architecture-overview.html 三层架构概述

三层结构如上所述的图片显示,在提供一项服务时 采用三台服务器的结构这指的是直接面向客户(Client)进行的前端工作。 Web服务器当客户使用服务时,系统可以引导客户执行特定操作,或者与数据库进行交互,从而向客户展示所需的信息。 WAS服务器位于WAS服务器上。 数据库服务器 该系统可以用于查询、插入、修改或删除数据库中的数据。数据库服务器是用于存储数据的数据库。在提供服务时,这个基本框架不会改变。 建筑因此,具体实施哪些政策来提供服务,可能会根据情况进行调整。


建筑系统架构是指描述系统的组成、功能、以及各个组成部分之间的关系,以及系统与外部环境之间的关系。此外,它还包括对系统组件的设计和实现方面的指导。 换句话说,当我们创建一个网站时,我们需要考虑网站的设计、用户注册时收集哪些个人信息、不同类型的论坛应该分配哪些权限(例如,普通用户、非用户等)、以及在线商店如何处理用户评论、是否允许非用户下单等。 换句话说,系统架构就是根据特定网站的目的,全面地规划和设计整个服务如何提供和呈现,以及如何进行管理。 值得注意的是,系统架构的种类非常多,需要学习的内容也非常广泛。如果您想了解更多,建议您进行搜索。


也就是说,当用户输入并访问“naver.com”时,WEB服务器会…… 通过IP地址访问我们只是… www.naver.com 即使在输入“이라고”时,也会在不显眼的区域进行。 域名系统服务器通过这种方式,可以访问Ne이버的Web服务器。由于Web服务器负责连接到Web服务器,因此Web服务器可以提供… 多种服务每次我们请求时,它都会被调用。例如,当我们登录时,Web服务器会调用WAS服务器上实现的登录相关服务,或者当我们点击Naver上的新闻、购物、体育等标签时,Web服务器也会调用WAS服务器上实现的相应服务。 最终,WAS服务器实际上起到了提供服务的角色。 然而,用户登录时的个人信息、搜索时呈现的各种信息、新闻、购物商品等庞大的数据,并非存储在Web服务器上。 数据库服务器因此,WAS服务器与数据库服务器连接。 检索并获取与所提供的服务相关的具体数据。 例如,当在博客上发布文章时,WASP服务器可以向数据库服务器发送请求,要求将新发布的文章作为数据进行存储、修改或删除。数据库服务器则负责实际的存储、修改和删除操作,并负责数据的存储。 可以将数据库服务器理解为,它存储了我们在网站上能够访问的各种数据。


※ 由于这是一种简化的三层架构,因此还有许多相关内容需要进一步学习和补充。例如,如何设计网络架构和防火墙,以及如何连接多台 Web 服务器,这些都需要在后续的学习中逐步完善。



Ⅲ. Nginx

在开始实践之前,了解一些基本命令会有帮助。

指令

功能说明

sudo apt install nginx (软件包名称)

以管理员权限安装软件包。

sudo apt remove nginx

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

sudo systemctl stop nginx (服务器)

停止由管理员权限运行的服务器。

sudo systemctl 启动 nginx

以管理员权限启动服务器。

sudo systemctl 重启 nginx

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

sudo systemctl 启用 nginx

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

使用 sudo systemctl 禁用 Nginx

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

这些是与服务器安装、删除、启动、重启、停止等操作相关的系统命令。 了解这些命令可以帮助您更好地管理服务器。

我们将安装最常用的 Web 服务器 Nginx,并进行三层架构的实践。虽然也有 Tomcat,但它们各有优缺点。简单来说, 在Nginx中,当流量达到一定程度时,其性能通常优于Tomcat。 Tomcat 是一款 由于存在大量的子项目,在功能和模块扩展方面具有优势。


  1. 安装 Nginx 服务器。

  • sudo apt update

  • 使用 sudo apt 安装 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我将创建一个模板,并在其中简单地填写内容。


我按照这种方式来写,如果大家有任何建议或技巧,请告诉我。 Vim 安装软件包后,您可以使用 vi 编辑器,从而更轻松地进行编辑。

cat > 파일명
cat >> 파일명

在使用时,可以查看文件内容 “猫” 通过指令来“> 只需输入文件名,就可以生成名为该文件名的文本文件。如果文件名相同,则...>“在这种情况下,内容会被覆盖,以下是……”>>“在这种情况下,内容会得到补充。”


现在,我们需要检查已创建的 index.html 文件在 Nginx 服务器上是否能正常显示。 按照之前的提示,使用 "netstat -anp | grep nginx" 命令,确认服务器 请听 确认状态是否正确后,如果确认无误,立即尝试连接。


“ifconfig”可以通过该链接访问,进入后,



可以清楚地看到效果!


※ 提示 HTTP 响应 为了方便大家了解,我分享一些相关的状态码。这里只是一个简要的总结,建议大家查阅更详细的信息。

状态码

状态说明

第一百组

客户端已向服务器发送请求,而服务器也在等待响应。

200系列

当客户端和服务器能够正常通信时,就可以看到。

300系列

服务器向客户端发出请求,表示为了完成请求,需要进行额外的操作(例如重定向)。

400系列

当客户端无法从服务器获取所需的资源时,会发生这种情况。

第五代

这表示服务器本身存在问题。



Ⅳ. Tomcat

接下来,安装 Tomcat。 WAS服务器我们计划开始进行实践,利用Tomcat。虽然Tomcat的安装似乎有些复杂,但实际上并不难。

Apache Tomcat® - Apache Tomcat 9 软件下载


首先,从上方 在 Tomcat 网页上找到 tar.gz 文件您可以下载文件。最新的版本是 9.0.82,您也可以在网页上下载其他版本。需要安装的文件位于程序安装相关目录中。 /usr/local 只需在内部使用“wget”命令进行下载。然后,进入/usr/local 目录,解压缩 wget 下载的 Tomcat 文件。


文件会以解压缩后的状态存在。您可以保留原始的文件名,也可以自由地更改。


进入内部,你会发现这样的情况。 /conf这指的是与设置相关的目录。 /lib这里是数据库服务器的访问入口,之后计划在此处安装用于连接数据库服务器的连接器。 /web应用 目录是用于注册与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这是一个重要的信息,建议您记住。


因此,现在可以通过Tomcat服务器的IP地址和8080端口号进行连接,并确认其正常运行。 接下来,就可以通过这些信息与Web服务器建立连接。 Nginx 服务器关于 /etc/nginx/sites-available/default 修改配置文件。


因此,添加了 proxy_pass 和 index.jsp 文件。 “使用 sudo 命令重启 Nginx”您可以访问该网站,并通过其提供的 WEB 服务器 IP 地址进行访问。



可以清楚地看到与 Tomcat (WAS) 服务器的连接正常。



评论

我认为搭建和连接 Web 服务器和 WAS 服务器并不困难。之后,数据库服务器的搭建可能会比较复杂,因此我打算重新搭建,就像之前一样,从头开始学习。😄