linux部署单应用项目

一、传统项目(ssh/ssm)

1. tomcat

原理:手动配置tomcat和jdk,将编译文件放入tomcat启动
这种部署方式很早之前已经写过蛮详细的一篇了,从0到有,包括虚拟机的安装、网络设置等。详见
https://blog.csdn.net/weixin_40496191/article/details/107812969

2. docker容器(挂载形式)

原理:一键安装docker,下载tomat镜像,以容器形式启动tomcat,并且将容器内外的文件夹(存放项目class)进行映射挂载。
优点:不需要安装配置tomcat、jdk(一台服务器部署多个应用效果比较明显)。并且可以跟第一种(传统部署)方法一样,实现增量更新。

  1. 查看虚拟机是否有网络: ping baidu.com

  2. 导入密钥:rpm --import http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

  3. linux安装docker:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

  4. 查看是否安装成功:docker version
    在这里插入图片描述

  5. 启动并设置开机自启动: systemctl start docker —> systemctl enable docker

  6. 新建挂载路径:mkdir /java/workspace/project1

  7. war包丢在挂载路径下(如果是非maven,将WebRoot文件夹拷贝到该挂载路径下,并且将WebRoot名称改为自己项目的名称)。注:我自己的项目名称为MySsh。

  8. 下载tomcat8镜像:docker pull tomcat:8

  9. 查看是否下载成功:docker images
    在这里插入图片描述

  10. 挂载启动镜像:docker run -p 8080:8080 -v /java/workspace/project1:/usr/local/tomcat/webapps tomcat:8
    10.1 -p 8080:8080:端口映射,第一个是宿主机映射端口,第二个是容器端口
    10.2 -v 目录 : 目录 :挂载,“:”前为宿主机路径,后为容器路径
    10.3 /usr/local/tomcat/webapps:容器内tomcat运行文件路径
    10.4 tomcat:8:tomcat镜像(服务器)

  11. 访问:http://192.168.121.11:8080/MySsh/(访问不到的检查下是否关闭防火墙或者开放端口)
    在这里插入图片描述

  12. 更新代码:直接实现增量更新,在/java/workspace/project1底下进行编译文件替换即可!

3. docker容器(镜像形式)

原理:一键安装docker,上传war包和Dockerfile文件,打包成镜像,直接启动。
优点:如果有自建镜像仓库(如harbor),可在本地打包镜像上传至自建仓库,服务器拉取镜像,重启即可。
缺点:必须是maven项目,不支持非maven项目。如果没有自建仓库,打包镜像操作在服务器实现,相比于挂载形式,不易实现增量更新(可实现但没必要)。如果每次都实现全量更新,上传war包,效率很慢。

  1. docker的安装配置详见2.1 - 2.5
  2. 在本地打包项目war包:mvn clean package
  3. 编写简单的DockerFile文件:继承tomat8镜像,并且将war包放入tomcat容器中
#继承tomcat8镜像
from tomcat:8
#将MySsh.war添加到tomat工作目录下
add MySsh.war  /usr/local/tomcat/webapps/MySsh.war
  1. 回到linux,创建文件夹并进入:mkdir /java/ctDocker —> cd /java/ctDocker
  2. 上传文件(可以通过图形界面软件上传,如winscp等,也可以同指令上传)
    4.1 安装rzsz:yum install lrzsz -yyum groupinstall"Dial-up Network Support" -y
    4.2 上传war包和Dockerfile:rz
  3. 由于我们继承了tomcat8,所以我们先下载tomcat8镜像,这样就可以避免以后每次打包镜像,都单独去下载tomcat8docker pull tomcat:8,如果已经下载则忽略。
  4. 查看是否下载成功:docker images
    在这里插入图片描述
  5. 查看文件:ls
    在这里插入图片描述
  6. 开始打包镜像:docker build . -t myssh:v1.1myssh:v1.1是自定义的镜像名称+版本)
  7. 打包完查看:docker images
    在这里插入图片描述
  8. 启动镜像:docker run -p 8080:8080 myssh:v1.1
  9. 访问:http://192.168.121.11:8080/MySsh/(访问不到的检查下是否关闭防火墙或者开放端口)
    在这里插入图片描述
  10. 更新代码:需要上传war文件,重新打包镜像,运行。
    注:非要实现增量更新,可以进入容器,将容器内部的tomcat底下的编译文件替换成新的编译文件。然后保存镜像,重启。个人认为蛮麻烦的,也没必要。

二、springboot项目

1. 传统部署

部署方式也是打包war编译文件,放在tomcat跑,如1.1、1.2,这里就不重复演示了。

2. 命令行启动

原理:配置jdk环境、将jar包上传linux,命令行启动。
优点:配置简单

  1. 创建文件夹:mkdir /java/springboot —> /java/springboot
  2. 上传war
  3. 安装jdk8https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
    3.1 创建文件夹:/opt/src
    3.2 将jdk-8u291-linux-x64.tar.gz 上传到 /opt/src
    3.3 创建文件夹:mkdir /usr/java
    3.4 jdk解压到/usr/java:tar -xvf /opt/src/jdk-8u291-linux-x64.tar.gz -C /usr/java
    3.5 设置软连接: ln -s /usr/java/jdk1.8.0_291/ /usr/java/jdk
    -----注:类似版本有可能变动的组件,最好都设置个软连接,避免版本变动频繁修改配置文件
  4. 设置环境变量:vi /etc/profile,在最后加上这三行
export JAVA_HOME=/usr/java/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/bin:$PATH
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
  1. 重新读取配置文件:source /etc/profile

  2. 查看jdk配置:java -version
    在这里插入图片描述

  3. 启动项目: java -jar /java/springboot/sboot-0.0.1-SNAPSHOT.jar (参数自行设置,想要看起来优雅点,自行写脚本启动)

  4. 访问项目:http://192.168.121.11:8080/hello
    在这里插入图片描述

3. docker容器(镜像形式)

部署方式如1.3,唯一不同的是镜像文件不需要在继承tomcat了,因为springboot内嵌服务器,可以直接启动。

  1. 编写Dockerfile文件
#继承java:8
FROM java:8
#作者
MAINTAINER zzk
#/tmp目录用来持久化到 Docker 数据文件夹,因为 Spring Boot 使用的内嵌 Tomcat 容器默认使用/tmp作为工作目录
VOLUME /tmp 
#将jar包添加到容器并且改名字为zzk.jar
ADD sboot-0.0.1-SNAPSHOT.jar zzk.jar
#运行jar包
RUN bash -c 'touch /zzk.jar'
#容器启动时要执行的命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/zzk.jar"]


  1. mkdir /java/springbootDocker -->cd /java/springbootDocker
  2. 上传jar包和Dockerfile文件
  3. 下载java8:docker pull java:8(可忽略,在打包镜像的会自动下载,为了后续打包方便,这里统一下载)
  4. 打包镜像:docker build . -t sboot:v1.1
  5. 查看镜像:docker images
    在这里插入图片描述
  6. 启动:docker run -p 8080:8080 sboot:v1.1
  7. 访问:http://192.168.121.11:8080/hello在这里插入图片描述
    成功!!
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值