Java EE框架应用开发(SpringBoot+VueJS) 第2版 课件 工作单元11、12 打包部署项目;自动打包部署项目_第1页
Java EE框架应用开发(SpringBoot+VueJS) 第2版 课件 工作单元11、12 打包部署项目;自动打包部署项目_第2页
Java EE框架应用开发(SpringBoot+VueJS) 第2版 课件 工作单元11、12 打包部署项目;自动打包部署项目_第3页
Java EE框架应用开发(SpringBoot+VueJS) 第2版 课件 工作单元11、12 打包部署项目;自动打包部署项目_第4页
Java EE框架应用开发(SpringBoot+VueJS) 第2版 课件 工作单元11、12 打包部署项目;自动打包部署项目_第5页
已阅读5页,还剩102页未读 继续免费阅读

下载本文档

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

文档简介

实项操目JavaEE框架应用开发(SpringBoot+VueJS)工作单元十一打包部署项目职业能力本工作单元主要完成在云服务器的Linux生产环境下打包和部署项目,最终希望学生达成如下职业能力目标:熟练掌握在云服务器的Linux环境下安装与配置JDK、MySQL、Redis与Ngnix服务;熟练掌握后端项目的打包与部署;熟练掌握前端项目的打包与部署。任务情景研发人员在开发机器上调试代码并通过测试后,需要将项目发布到外网服务器给用户提供服务,将面临下面三个问题:1.外网服务器上如何安装项目需要的JAVA软件环境,如JDK1.8、MySQL等?2.后端项目如何打包部署到外网服务器?3.前端项目如何打包部署到外网服务器?本工作单元的具体任务搭建云服务器环境。打包与部署项目后端。打包与部署项目前端。CHAPTERELEVEN任务1搭建云服务器环境任务分析JDK在Linux系统中目前存在两种版本,一是yum提供的OpenJDK,另一种是Oracle官网提供的JDK版本。其中Oracle提供的版本需要自己下载rpm文件进行安装,比较繁琐,本书中使用yum提供的OpenJDK进行安装。任务实施步骤1.安装JDK1.8步骤2.安装MySQL数据库步骤3.安装Redis步骤4.安装Ngnix步骤1

安装JDK1.81)查看可用的Java版本。2)使用java-1.8.0-openjdk-devel.x86_64版本安装JDK。3)验证JDK的版本,如果能正常输出版本号则说明安装成功。步骤2安装MySQL数据库1)下载并安装MySQL。2)启动MySQL数据库。3)查看MySQL运行状态,确定MySQL启动运行正常。4)查看MySQL的初始密码。5)通过初始密码登录数据库。6)修改MySQL默认密码。7)授予root用户远程管理权限。8)重新指定一个基于mysql_native_password的密码。步骤3安装Redis1)安装EPEL。2)安装Redis

服务。3)启动Redis。4)查看Redis

目录。5)配置Redis

远程访问,打开/etc/redis.conf

文件,修改该文件。6)重启Redis。步骤4安装Ngnix1)创建Nginx的yum源。2)查看当前可用的安装包源。3)安装Nginx服务。4)启动Nginx服务。5)Ngnix

的默认端口是80,Ngnix

要对外提供服务,需要配置云服务的访问安全组,可配置80端口用于控制对外开放的端口。6)浏览器输入“云服务ip:port”地址并按<Enter>键后,显示Nginx默认页面就表示安装完成。知识小结EPELEPEL的全称为ExtraPackagesforEnterpriseLinux。EPEL是由Fedora社区打造,为RHEL及衍生发行版如CentOS、ScientificLinux等提供高质量软件包的项目。装上了EPEL之后,就相当于添加了一个第三方源。知识小结RedisRedis

是一个开源的使用ANSIC语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。知识小结NginxNginx是一款轻量级的Web服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。其特点是占有内存少,并发能力强,事实上Nginx的并发能力在同类型的网页服务器中表现较好。任务评价感谢观看~实项操目JavaEE框架应用开发(SpringBoot+VueJS)工作单元十一打包部署项目任务2打包与部署项目后端CHAPTERELEVEN任务分析请到下面的链接获取案例项目源码:/china_alex/friday-frontend-backend,参考工作单元二任务1的内容导入项目数据到云服务器的MySQL中。任务实施步骤1.打包项目后端步骤2.部署运行项目后端步骤1打包项目后端1)在IDEA右侧的Maven界面找到Lifecycle选项,双击install生成新的jar包,命令执行完毕后,在/target目录下会生成jar文件步骤1打包项目后端2)使用WinSCP

或FileZilla把jar文件上传到服务器步骤2部署运行项目后端1)启动Friday后端服务。2)启动之后通过ls指令可以看到在目录下生成了一个nohup.out

文件,这个是后端项目输出的系统日志,然后通过cat指令观察项目的启动情况。3)如果需要终止Friday,可以执行以下命令。任务评价感谢观看~实项操目JavaEE框架应用开发(SpringBoot+VueJS)工作单元十一打包部署项目任务3打包与部署项目前端CHAPTERELEVEN任务实施步骤1.打包与上传Vue项目步骤2.配置Nginx服务器步骤3.前后端联调验证步骤1

打包与上传Vue项目1)执行以下命令进行项目打包,打包文件存放在dist目录。2)上传dist

目录下的文件到服务器的/usr/share/nginx/html目录,此目录为实际Web项目的文件。步骤2配置Nginx服务器1)在/etc/nginx/conf.d

目录下修改default.conf,配置Nginx服务。2)重新加载配置文件。步骤3前后端联调验证1)使用浏览器访问云服务器IP地址,项目正常访问登录页面。2)单击“登录”按钮,进入项目的后台首页。知识小结Nginx的配置在任务3步骤2的配置文件中,只配置了Nginx服务器的server块,配置了虚拟主机的相关参数,其实在一个HTTP中可以有多个server块。注意每个配置指令必须以分号结束。配置文件中有一个配置选项try_files,是Nginx中http_core

核心模块所带的指令,主要是替代一些rewrite的指令,提高解析效率。参数定义了响应用户请求的文件搜索顺序,按指定的文件顺序查找存在的文件,并使用第一个找到的文件进行请求处理,如果给出的文件都没有匹配到,则重新请求最后一个参数给定的URI,就是新的位置匹配。如果最后一个参数=404,则最后返回404的响应码。任务评价单元小结基于云服务器的项目环境搭建、项目前端和后端的打包部署、测试项目前后端联调是项目实施的重要环节。能够按照系统部署手册部署软件系统,并能够对系统进行测试和验证是1+X职业技能等级证书(Java应用开发)的职业技能要求。通过完成本工作单元的任务和后面的实战强化,学生可熟练掌握系统实施中系统部署与验证的职业技能。实战强化1.按照任务2的内容,在云服务器上部署实训项目“诚品书城”后端。2.按照任务3的内容,在云服务器上部署实训项目“诚品书城”前端。感谢观看~实项操目JavaEE框架应用开发(SpringBoot+VueJS)工作单元十二自动打包部署项目职业能力本工作单元实现项目在生产环境Docker体系下的部署,具体实现了后端接口服务、前台应用的部署,将Docker环境的搭建和应用设计成拓展练习,帮助学生巩固技能。最终希望学生达成的职业能力目标是:掌握基于Docker技术的基本镜像操作。掌握基于DockerFile

文件和IDEA插件的后端项目自动化部署。掌握基于DockerFile

文件和DockerCompose的前端项目自动化部署。任务情景研发人员在开发机器上调试代码并通过测试后,正式将项目发布到外网服务器给用户提供服务之前,需要先在外网服务器和生产环境一致的条件下发布测试版本,供测试人员和少量用户进行测试,然后对发现的问题进行修复,修复后重新发布测试版本。等到生产环境下的问题修复得差不多之后,可以发布正式版供大量用户使用。在这个过程中,需要解决两个问题:1)如何减少重复发布新版本的工作量;2)如何保证测试环境和生产服务器环境一致。本工作单元的具体任务安装Docker服务。自动发布后端项目到Docker容器。自动发布前端项目到Docker容器。CHAPTERTWELVE任务1安装Docker服务任务实施步骤1.检查服务器环境步骤2.安装Docker服务步骤3.开启Docker的远程连接步骤1

检查服务器环境1)打开CMD窗口,执行“sshroot@服务器的ip”命令或者通过远程连接工具连接远程服务器。2)Docker官方推荐其在Linux3.8内核以上运行最佳,所以安装Docker前,执行“lsb_release-a”命令检查服务器环境。教材中使用的系统环境为CentOS7.8。步骤2安装Docker服务1)安装所需的软件包。yuminstall-yyum-utilsdevice-mapper-persistent-datalvm22)设置软件镜像。yum-config-manager--add-repo/linux/centos/docker-ce.repo3)安装Docker服务。yuminstalldocker-ce步骤2安装Docker服务4)启动Docker服务。systemctlstartdocker5)验证Docker服务,执行“dockerrunhello-world”命令运行Hello-world容器。dockerrunhello-world步骤3开启Docker的远程连接1)编辑Docker配置文件。vim/lib/systemd/system/docker.service2)把文件中的“ExecStart=/usr/bin/dockerd-current”改为以下配置,其中“-H”选项表示客户端可以远程通过23751端口访问。ExecStart=/usr/bin/dockerd-current-Htcp://:23751-Hunix://var/run/docker.sock步骤3开启Docker的远程连接3)修改后按<Esc>键跳到命令模式,输入“:wq!”并按<Enter>键,强制保存文件并退出。步骤3开启Docker的远程连接4)重新加载并重启Docker服务,完成Docker远程连接配置。systemctldaemon-reload&&systemctlrestartdocker任务评价感谢观看~实项操目JavaEE框架应用开发(SpringBoot+VueJS)工作单元十二自动打包部署项目任务2自动发布后端项目到Docker容器CHAPTERTWELVE任务分析通过配置Dockerfile,使用IDEA插件构建Docker镜像并部署在远程服务器上。任务实施步骤1.安装IntellijIDEA的Docker插件步骤2.配置连接Docker服务步骤3.编写Dockerfile镜像文件步骤4.配置Dockerfile步骤1安装IntellijIDEA的Docker插件以管理员身份运行IDEA工具,执行File→Settings→Plugins→InstallJetBrains

plugin命令进入插件安装界面,在搜索框中输入docker,可以看到Docker选项,单击右边的Install按钮进行安装,安装后重启IDEA。步骤2配置连接Docker服务执行File→Settings→Build,Execution,Deployment→Docker命令打开配置界面。在设置页面,单击“+”按钮创建一个Dockerserver并进行设置,EngineAPIURL中输入Docker服务的IP地址,连接成功页面上会提示Connectionsuccessful。步骤3编写Dockerfile镜像文件在friday

项目的根目录下创建Dockerfile

文件,文件内容如下#Dockerimageforspringbootapplication#VERSION0.0.1#Author:Alex###基础镜像,使用alpine操作系统,openjkd使用8u201

FROMopenjdk:8u201-jdk-alpine3.9

#作者

MAINTAINERAlex<

Alex@>

#系统编码

ENVLANG=C.UTF-8LC_ALL=C.UTF-8

#声明一个挂载点,容器内此路径会对应宿主机的某个文件夹

VOLUME/tmp

#应用构建成功后的jar文件被复制到镜像内,名字也改成了app.jar

ADDtarget/friday-0.0.1-SNAPSHOT.jarapp.jar

#启动容器时的进程

ENTRYPOINT["java","-jar","/app.jar"]

#暴露8080端口

EXPOSE8080步骤4

配置Dockerfile1)单击“EditConfiguration”选项步骤4

配置Dockerfile2)单击左上角的“+”按钮,选择左侧菜单栏的“Docker”选项,在弹出菜单里选择“Dockerfile”选项。步骤4

配置Dockerfile3)在Docker配置页面中配置下面的信息。▶

Name:输入friday。▶Server:选择前面配置的Docker服务。▶

Dockerfile:选择前面增加的Dockerfile

文件。▶

Imagetag:输入friday。▶

Containername:输入friday-backend。▶

Bindports:配置8081:8080:8080,分别映射宿主机端口和容器端口。然后单击“Beforelauch”下的“+”按钮,选择“RunMavenGoal”命令配置Maven。步骤4

配置Dockerfile4)单击“RunMavenGoal”后,输入要执行的Maven命令“cleanpackage-U”,表示每次在构建镜像之前,都会将当前工程清理掉并且重新编译构建,然后单击“OK”按钮。步骤4

配置Dockerfile5)选择配置好的Docker运行方式,单击“▶”按钮运行验证步骤4

配置Dockerfile6)显示结果如所示,即为发布成功。知识小结DockerfileDockerfile

是一个用来构建镜像的文本文件,文件里面是构建镜像所需的指令和说明。下面是Dockerfile

常用指令的解释。▶

FROM:指定基础镜像。▶VOLUME:声明一个挂载点,容器内此路径会对应宿主机的某个文件夹。▶ADD:将构建成功后的jar文件复制到镜像,与COPY命令类似。▶EXPOSE:暴露容器运行时的监听端口给外部。▶ENV:设置环境变量。▶MAINTAINER:指定作者。▶ENTRYPOINT:启动命令,与CMD命令类似。任务评价感谢观看~实项操目JavaEE框架应用开发(SpringBoot+VueJS)工作单元十二自动打包部署项目任务3自动发布前端项目到Docker容器CHAPTERTWELVE任务分析通过在本地安装Docker工具集,配合VSCODE插件,编译前端项目,并将打包好的前端项目实时部署到远程服务器上。任务实施步骤1.安装Docker工具步骤2.VSCODE安装Docker插件步骤3.VSCODE配置Docker步骤4.编写配置文件步骤5.本地打包前端项目步骤1安装Docker工具VSCODE没有内置Docker工具,所以需要单独安装Docker工具,这里我们使用Windows的Docker桌面版。由于Windows的Docker桌面版和DockerToolbox已经包括Compose和其他Docker应用程序,因此用户不需要单独安装Compose,仅需要安装Windows的Docker桌面版即可。步骤1安装Docker工具1)启用CPU虚拟化Docker桌面版的虚拟化技术在Windows10系统中,需要CPU提供虚拟化支持,所以在安装前,需要先在BIOS中开启CPU虚拟化。首先打开任务管理器,切换到性能选项。如果在虚拟化选项显示“已启用”,说明CPU虚拟化已经开启,可以进行下一步,如果显示“已禁用”,则需要在BIOS中开启;由于各品牌的BIOS设置不同,读者可自行搜索“Windows10开启CPU虚拟化”查找设置路径。步骤1安装Docker工具2)安装Hyper-VHyper-V

是微软开发的虚拟机,类似于VMWare或VirtualBox,仅适用于Windows10的企业版、专业版或教育版中的一个,是DockerDesktopforWindows所使用的虚拟机。首先打开Windows功能,开启Hyper-V。步骤1安装Docker工具3)在Dokcer

官网下载DockerforWindows的版本,双击下载的DockerforWindowsInstaller安装文件,然后一直单击“Next”按钮,最后单击“Close”按钮完成安装。安装完成后,Docker会自动启动。通知栏上出现小鲸鱼的图标,表示Docker正在运行。步骤1安装Docker工具4)安装完毕后,使用下面的命令查看使用的DockerCompose版本。步骤2在VSCODE中安装Docker插件1)在左侧的菜单中找到并单击插件选项。在插件搜索栏中,输入“docker”并按<Enter>键。在搜索结果中找到并单击Docker插件打开插件主页,在插件主页中单击“Install”按钮安装该插件。步骤2在VSCODE中安装Docker插件2)在左侧的菜单中找到并单击插件选项。在插件搜索栏中,输入“dockercompose”并按<Enter>键。在搜索结果中找到并单击“DockerCompose”插件打开插件主页,在插件主页中单击“Install”按钮安装该插件。步骤3在VSCODE中配置Docker1)打开VSCODE的设置,执行File→Preferences→Settings命令。步骤3在VSCODE中配置Docker2)在VSCODE设置页面的文本框中输入“dockerhost”后按<Enter>键,在出现的Docker设置中,参照下图的设置填好服务器Docker的远程控制地址,格式是“http://ip地址:端口号”。步骤4编写配置文件1)在项目根目录下创建Dockerfile、docker-compose.yml、default.conf

等配置文件。步骤4编写配置文件2)在项目根目录下创建Dockerfile

文件,并编写下面的代码,指定nginx

作为基础镜像,复制下面的目录和文件到镜像中。#指

温馨提示

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

评论

0/150

提交评论