项目14 部署前后端分离的应用系统(麒麟欧拉版)_第1页
项目14 部署前后端分离的应用系统(麒麟欧拉版)_第2页
项目14 部署前后端分离的应用系统(麒麟欧拉版)_第3页
项目14 部署前后端分离的应用系统(麒麟欧拉版)_第4页
项目14 部署前后端分离的应用系统(麒麟欧拉版)_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

小乔在实习工作中表现突出,公司为了表彰优秀员工、树立榜样,奖励她一台云服务器。小乔有了属于自己的服务器,准备在服务器上部署一套前后端分离的应用系统。了解前后端分离架‍构。掌握MariaDB和Redis的安装与配‍置。掌握Nginx的安装与配置。掌握JDK和Tomcat的安装。会在Linux服务器中部署前后端分离的应用系统。具有团队协作精神。1了解前后端分离架构2安装与配置MariaDB3安装与测试Redis4安装JDK、Tomcat和Maven5安装与配置Nginx14.1了解前后端分离架构14.1.1了解前后端分离架构的概念

前后端分离是一种将Web应用程序的前端(即客户端)程序和后端(即服务器)程序分离开发、部署的软件架构模式。传统的Web应用程序通常将前端程序和后端程序的代码耦合在一起,前端程序负责展示界面和与用户交互等,后端程序负责处理业务逻辑和数据存储等。前后端分离则将前端程序、后端程序分离、解耦,使得它们可以被独立开发、测试和部署。

在前后端分离架构中,前端程序通常使用HTML、CSS、JavaScript语言来实现用户交互,通过向应用程序接口发送请求实现与后端程序的通信,从而提交和获取数据;后端程序则负责响应前端程序的请求,处理业务逻辑、存储数据以及与数据库的交互。

前后端分离的好处是可以提高开发效率和灵活性。14.1.2了解Vue.js与SpringBootVue.js(以下简称“Vue”)和SpringBoot是两种非常流行的开发框架,它们分别用于前端程序和后端程序开发。Vue和SpringBoot可以很好地配合使用,Vue负责前端界面展示和交互逻辑的实现,SpringBoot负责后端业务逻辑的实现和数据处理,实现高效的全栈开发。对于使用Vue开发的前端程序,可以使用Node.js将其编译、打包成一个或多个JavaScript文件,以便在浏览器或其他JavaScript环境中运行。对于使用SpringBoot开发的服务器程序,可以使用Maven将其编译、打包成.jar或.war文件,然后部署到Tomcat等服务器软件中运行。14.1.3了解常见的服务器软件1.NginxNginx是一款高性能、轻量级的Web服务器软件。对于使用Vue开发的前端程序,经过打包后,就可部署到Nginx服务器中运行。当Nginx接收到客户端浏览器发送的HTTP请求时,Nginx可以直接处理HTML页面、CSS模式、图片、视频等静态文件请求并回应。同时,Nginx也是一款反向代理服务器软件。通过反向代理,Nginx可以将客户端的请求转发给后端服务器进行处理,Nginx收到后端服务器响应后,再将其转发给客户端。14.1.3了解常见的服务器软件2.JDKJDK(JavaDevelopmentKit,Java开发工具包)是Java开发环境的核心组件,它包含开发Java应用程序所需的所有组件,如Java编译器、Java虚拟机、Java类库和调试工具等。JDK提供了开发Java应用程序的基本工具和环境。JDK目前主要有OpenJDK和OracleJDK等分支,OpenJDK是开源的社区版本,由Java社区共同开发和维护,OracleJDK是由Oracle公司开发和发布的商业版本。14.1.3了解常见的服务器软件3.TomcatTomcat是一款免费、开源的符合JavaEE(JavaPlatform,EnterpriseEdition,Java平台,企业版)运行标准的Web服务器软件,它既可作为应用服务器运行JavaWeb应用程序,又可作为轻量级Web服务器处理HTML程序、JavaScript程序等静态资源。

虽然Tomcat和Nginx都具有处理HTML的功能,但是Tomcat处理HTML等静态资源的性能远不及Nginx,因此Tomcat主要用于运行JavaWeb应用程序。14.1.3了解常见的服务器软件4.MySQL和MariaDBMySQL是一个关系数据库管理系统,支持使用SQL(结构化查询语言)进行数据库管理。利用MySQL可以创建数据库和数据表、添加数据、修改数据、查询数据、删除数据等。MariaDB是MySQL的一个分支,主要由开源社区维护,它对MySQL有较好的兼容性。5.RedisRedis是一个开源的、基于内存的非关系数据库管理系统,常用于缓存、消息队列、会话存储等应用场景。14.1.4了解前后端分离架构应用系统的工作过程

将前后端分离架构应用系统部署到服务器上,可能会用到Nginx、Tomcat、MariaDB、Redis等服务器软‍件。如图所示,把前端程序部署在Nginx服务器的资源目录中,把后端程序部署到基于Java(JDK)运行环境的Tomcat服务器的资源目录中。Nginx服务器监听TCP80号端口接收客户端的访问请求,Tomcat服务器监听TCP8080号端口与Nginx服务器通信。14.1.4了解前后端分离架构应用系统的工作过程接下来在Linux虚拟机中分别安装MariaDB、Redis、Tomcat等服务器软件,服务器的基本配置参数如表中所示。节点主机名IP地址/子网掩码位数网络工作模式Server0/24NAT模式14.2安装与配置MariaDB14.2.1安装MariaDBmariadb-server是MariaDB的服务器软件包,麒麟V10系统安装光盘包含该软件包(版本号为10.3.39),接下来安装MariaDB。(1)安装MariaDB服务器软件包的命令如下。说明:MariaDB将在系统中注册一个名为mariadb服务。(2)启动mariadb服务,并设置开机启动。yuminstall-ymariadb-serversystemctlstartmariadb&&systemctlenablemariadb说明:MariaDB作为MySQL的开源分支,为保持与MySQL的高度兼容,其服务主程序仍沿用mysqld。因此,在Linux系统中,MariaDB数据库的服务名称为mariadb,而实际运行的进程名称为mysqld。14.2.2初始化MariaDB配置1.MariaDB的安全配置

在命令行中输入mysql_secure_installation命令并按Enter键,运行安全配置向导。2.登录MariaDB

安全配置完毕,就可以以数据库的root用户身份登录MariaDB。mysql_secure_installationmysql-uroot-p<root用户密码>14.2.3管理MariaDB1.数据库的创建、使用和删除

数据库的创建、使用和删除等管理操作的SQL语句如表中所示。SQL语句功能createdatabase数据库名;创建数据库showdatabases;显示已存在的数据库use数据库名;使用指定的数据库dropdatabase数据库名;删除指定的数据库【例14-1】创建一个名为company的数据库【例14-2】查看所有数据库。【例14-3】使用新创建的company数据库。14.2.3管理MariaDB2.修改用户密码

mysqladmin是一个执行MariaDB(MySQL)数据库管理操作的客户端程序,它可以用于检查数据库的配置和当前状态及修改用户密码等。使用mysqladmin命令修改用户密码的格式如下。mysqladmin-u用户名-p旧密码password新密码【例14-4】修改数据库的root用户的密码为123123。14.2.3管理MariaDB3.字符集设置

字符集决定了数据库能够存储和使用的字符种类。在数据库管理中,为了确保数据准确显示,避免在跨平台的数据操作中出现乱码问题,就需要正确设置数据库管理系统的字符集。MariaDB(MySQL)提供了不同的字符集支持,包括utf8、gbk、latin1等。【例14-5】查看MariaDB当前的默认字符集。【例14-6】通过配置文件设置MariaDB的服务器的默认字符集(character_set_server)为utf8mb4。14.3安装与测试Redis14.3.1安装和启动Redis

麒麟V10系统安装光盘未提供Redis相关软件包,因此,我们将使用麒麟官方yum网络源安装Redis。1.安装Redis软件包2.启动Redis服务(1)启动redis服务,并设置开机启动。(2)redis服务默认使用TCP6379端口,查看6379端口是否被监听,以确认redis服务是否正常运行。yuminstall-yredissystemctlstartredis&&systemctlenableredisss

-ntlp

|

grep

redis14.3.2使用redis-cli连接Redis1.连接Redis服务器

如果Redis服务器运行在本地的TCP6379端口,则可以直接执行redis-cli命令连接本地Redis服务器。

执行命令后,若出现:6379>提示符,则表示已连接本地Redis服务器。2.测试Redis服务器是否连接正常

使用redis-cli向Redis服务器发送一条ping命令,如果服务器连接正常,会返回PONG。redis-cli【例14-7】使用redis-cli测试Redis服务器是否连接正常。14.4安装JDK、Tomcat和Maven14.4.1安装JDKOpenJDK是JDK的社区版本,麒麟V10系统安装光盘提供了OpenJDK的两个不同版本的软件包(版本号分别为8、11)。1.安装OpenJDK82.验证安装yuminstall-yjava-1.8.0-openjdk-develjava-version14.4.2安装Tomcat1.获取Tomcat安装包Tomcat是Apache的开源项目,可以在Tomcat官方网站下载Tomcat安装包。(1)使用yum命令安装wget下载工具。(2)从Tomcat官方网站下载.tar.gz格式的Tomcat安装包,这里下载的版本是9.0.87。yuminstall-ywgetwget/dist/tomcat/tomcat-9/v9.0.87/bin/apache-tomcat-9.0.87.tar.gz14.4.2安装Tomcat2.安装Tomcat(1)创建Tomcat的安装目录。(2)解压缩已下载的Tomcat安装包到安装目录中。3.启动和停止Tomcat(1)执行bin目录中的startup.sh文件,启动Tomcat。(2)Tomcat默认使用TCP8080端口,使用ss命令确认Tomcat正在监听8080端口。mkdir/usr/local/tomcattar-zxvfapache-tomcat-9.0.87.tar.gz-C/usr/local/tomcatss-ntlp|grep8080firewall-cmd--permanent--zone=public--add-port=8080/tcpfirewall-cmd--reload14.4.2安装Tomcat3.启动和停止Tomcat(3)Tomcat启动后,打开浏览器,在地址栏中输入网址0:8080,按Enter键,浏览器中将Tomcat欢迎页面。14.4.2安装Tomcat4.配置Tomcat的服务端口Tomcat的默认端口为8080端口,前文介绍过Tomcat安装目录中的conf子目录用于存放Tomcat的各种配置文件,其中,server.xml是Tomcat的一个重要的配置文件,端口就在此文件中配置。(1)使用Vi编辑器打开server.xml文件。(2)在server.xml文件中定位到<Connector>标签,将该标签中的port属性的值修改为8081(原来为8080),并保存配置文件。(3)重启Tomcat后,Tomcat将以新端口8081对外提供服务(Linux防火墙也需要开放8081端口,配置步骤在此不赘述)。cd/usr/local/tomcat/apache-tomcat-9.0.87viconf/server.xml14.4.2安装Tomcat5.在Tomcat中部署测试项目

Tomcat安装目录中的webapps目录用于部署Web应用程序。(1)在webapps目录中创建名为app的子目录(app相当于Web应用程序的虚拟目录)。(2)在app目录中创建一个简单的index.html文件。(3)使用curl命令进行访问测‍试。mkdirappecho"<h1>测试</h1>">app/index.htmlcurl0:8080/app/index.html14.4.3安装MavenMaven是Java开发环境中用于构建和管理项目,以及维护.jar包依赖关系的强大软件项目管理工具。Maven的核心功能之一是依赖管理,该功能可以自动下载并管理Java工程项目依赖的.jar包。Java工程项目的构建过程(从编译、测试、运行、打包、安装到部署)都可以由Maven进行管理。1.获取Maven安装包Maven是Apache的开源项目,可以在Maven官方网站下载Maven安装包。使用wget命令从Maven官方网站下载.tar.gz格式的Maven安装包,这里下载的版本是3.9.6。14.4.3安装Maven2.解压Maven安装包(1)创建Maven的安装目录。(2)解压(即安装)已下载的Maven安装包到安装目录。(3)编辑/etc/profile文件,在/etc/profile文件末尾添加以下代码。mkdir/usr/local/maventar-zxvfapache-maven-3.9.6-bin.tar.gz-C/usr/local/mavenMAVEN_HOME=/usr/local/maven/apache-maven-3.9.6PATH=$PATH:$MAVEN_HOME/binexportMAVEN_HOME14.4.3安装Maven(4)执行以下命令使环境变量生效。(5)执行mvn--version命令,查看已安装的Maven版本号。3.配置Maven(1)打开Maven的配置文件settings.xml。(2)在配置文件settings.xml中找到<mirrors>标签,在该标签内部添加以下代码。source/etc/profilemvn--versionvi/usr/local/maven/apache-maven-3.9.6/conf/settings.xml

<mirror>

<id>aliyunmaven</id>

<mirrorOf>*</mirrorOf>

<name>阿里云远程仓库</name>

<url>https://maven.aliy**.com/repository/public</url>

</mirror>14.5安装与配置Nginx14.5.1安装和启动Nginx

配置Nginx需要安装nginx软件包,但是麒麟V10系统安装光盘并没有提供该软件包,建议用户使用麒麟系统官方提供的yum网络源进行安装。本项目使用的nginx版本是1.21.5。1.安装nginx软件包和启动nginx服务(1)使用yum命令安装nginx软件包。(2)启动nginx服务,并设置开机启动。2.查看nginx服务的运行状态(1)使用systemctl命令查看nginx服务的运行状态,确认运行状态为active(running)。(2)nginx服务默认使用TCP80端口,执行以下命令确认nginx服务正在监听TCP80端口。(3)查看nginx进‍程。yuminstall-ynginxsystemctlstartnginxsystemctlenablenginx14.5.1安装和启动Nginx3.配置防火墙配置防火墙,开放服务器的TCP80端口。4.对Nginx服务器进行访问测试firewall-cmd--permanent--zone=public--add-port=80/tcpfirewall-cmd--reload14.5.2配置NginxNginx相关的配置文件如表中所示。1.主配置文件的结构

整个配置文件是以块的形式组织的,每个块一般以一对花括号(即{})标识(全局块例外)。nginx.conf文件的组织结构如下。文件说明/etc/nginx/nginx.confNginx的主配置文件/etc/nginx/default.d/default.conf默认的虚拟主机配置文件14.5.2配置Nginx……

#全局块events

{

#events块

……}http

{

#http块(协议级别的配置)

server

{

#server块(主机级别的配置)

……

location

[PATTERN]

{

#location块(请求级别的配置)

……

}

location

[PATTERN]

{

……

}

}

server{

#另一个server块

……

}}/etc/nginx/nginx.conf文件内容14.5.2配置Nginx1.主配置文件的结构【例14-8】查看nginx.conf文件中全局块和events块的默认配置。【例14-9】查看nginx.conf文件中http块的默认配置。14.5.2配置Nginx2.配置虚拟主机

配置虚拟主机是指将一台物理服务器划分成多个“虚拟”的服务器,从而实现在一台服务器上同时运行多个网站,虚拟主机负责将不同的网站隔离,从而更有效地利用服务器的资源。(1)server块的配‍置(2)location块的配‍置【例14-10】在IP地址为0的Nginx服务器上配置一个运行在81端口的虚拟主机,要求对于所有路径以/api/开头的请求,以客户端的IP地址作为响应内容进行返回;对于其他请求,则尝试以虚拟主机目录中对应的文件进行响应。14.5.2配置Nginx3.检查与重新加载Nginx的配置(1)执行nginx-t命令可以检查配置文件/etc/nginx/nginx.conf的语法的正确性。(2)执行nginx-sreload命令可以重新加载Nginx配置。nginx-tnginx-sreload1配置服务器基础环境2安装与配置MariaDB和Redis3安装JDK、Maven和Node.js4安装与配置Nginx5部署应用系统任务实施任务14-1配置服务器基础环境任务14-1配置服务器基础环境1.项目需求分析与规划

在本项目中使用一台已安装麒麟V10系统(软件环境为“带UKUIGUI的服务器”)的虚拟机来搭建服务器,部署前后端分离版本的若依后台管理系统。虚拟机节点的规划如下表所示。

部署若依所依赖的软件如下表所示。主机名IP地址/子网掩码位数网络工作模式Web0/24NAT模式软件名称软件版本作用Nginx1.21.5Web服务器(运行前端程序)OpenJDK8Java运行环境Tomcat9.0内嵌版JavaWeb应用服务器(运行JavaWeb后端程序)MariaDB10.3.39作为应用程序的数据库Redis7.2.7实现缓存Maven3.9.6用于编译和打包JavaWeb后端程序,项目运行时不需要使用此软件Node.js18.19.0用于编译和打包Vue开发的前端程序,项目运行时不需要使用此软件任务14-1配置服务器基础环境2.配置基础环境(1)配置主机名。(2)配置IP地址等网络参数。(3)配置防火墙以开放80端口。nmclicmodifyens33\ipv4.methodmanualipv4.addr0/24\ipv4.gatewayipv4.dns""connection.autoconnectyesnmclicreload&&nmclicupens33任务14-2安装与配置MariaDB和Redis任务14-2安装与配置MariaDB和Redis1.安装关系数据库MariaDB(1)安装mariadb-server软件包(2)配置MariaDB的服务器的默认字符集(character_set_server)为utf8mb4。

编辑/etc/f,在[mysqld]部分添加以下代码,设置服务器的默认字符集。(3)启动mariadb服务,并设置开机启动。(4)登录MariaDB,设置root用户的密‍码为123456。[mysqld]character-set-server=utf8mb4collation-server=utf8mb4_unicode_ci任务14-2安装与配置MariaDB和Redis2.安装非关系数据库Redis(1)安装redis软件包。。(2)启动redis服务,并设置开机启动。(3)查看TCP3306和6379端口的监听状态。任务14-3安装JDK、Maven和Node.js任务14-3安装JDK、Maven和Node.js1.安装JDK(1)安装OpenJDK8相关软件包。(2)查看OpenJDK8的版本信息,以验证安装。2.安装Maven(1)从Maven官方网站下载Maven的.tar.gz格式安装包。(Maven版本是3.9.6)(2)安装Maven到/usr/local/maven目录中。(3)配置环境变量。(4)查看Maven的版本信息,以验证安装。(5)编辑Maven配置文件settings.xml,配置阿里云远程仓库。任务14-3安装JDK、Maven和Node.js3.安装Node.js(1)从Node.js官方网站下载Node.js二进制文件格式软件包,得到归档文件node-v18.19.0-linux-x64.tar.xz(以18.19.0版本为例)。(2)解压缩Node.js软件包。(3)配置环境变量。编辑/etc/profile,在文件末尾添加以下代码。(4)查看Node.js的版本信息,以验证安装。PATH=$PATH:/usr/local/nodejs/node-v18.19.0-linux-x64/binmkdir/usr/local/nodejstar-Jxvfnode-v18.19.0-linux-x64.tar.xz-C/usr/local/nodejs任务14-4安装与配置Nginx任务14-4安装与配置Nginx1.安装和启动Nginx(1)安装nginx软件包(2)启动nginx服务,并设置开机启动。(3)查看TCP80端口的监听状态。2.配置Nginx虚拟主机(1)编辑Nginx默认的虚拟主机配

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论