服务器部署JavaWeb的war包(完整版)

本文章内容操作环境采用的技术是docker部署war

提前下载好Xshell7(终端,如果你买的服务器有终端窗口,那么用你的服务器终端窗口也行)和Xftp7(传输文件),并下载navicat15(版本过低会因为1045,连不上服务器)

一、导出war包,并解压到桌面(也可以不解压,但建议解压)

二、连接Xftp7将文件放置在当前用户下的任意地方,不要忘记该文件路径,之后以war称呼这个文件夹

三、使用Xshell登录服务器

四、安装docker(切换到root最高权限操作)

1、更新系统:首先,确保服务器的操作系统是最新的。你可以使用适用于你的操作系统的包管理工具来更新系统。

2、安装 Docker 的依赖项:Docker 需要一些依赖项来正常工作。根据你的操作系统,执行以下命令来安装这些依赖项:

     对于 Ubuntu/Debian 系统:

apt-get update
apt-get install apt-transport-https ca-certificates curl software-properties-common

      对于 CentOS 系统:

yum install -y yum-utils device-mapper-persistent-data lvm2

3、添加 Docker 的官方GPG密钥和软件包源,但在国内使用这个会很慢

     Docker GPG密钥(用以验证软件包的完整性)

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

     Docker 软件包源:

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

        建议使用国内相关镜像源(可以理解为GPG密钥)和软件包源命令来替换上述步骤:

①腾讯云docker镜像源(可以理解为腾讯云dockerGPG密钥):

curl -fsSL https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

   腾讯云docker软件包源(可以理解为腾讯云dockerGPG密钥):

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

②阿里云docker镜像源(可以理解为阿里云dockerGPG密钥):

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

   阿里云docker软件包源(可以理解为阿里云dockerGPG密钥): 

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

4、安装 Docker 引擎:执行以下命令来安装 Docker 引擎:

apt-get update
apt-get install docker-ce docker-ce-cli containerd.io

     或者,如果你是在 CentOS 上安装 Docker,可以执行以下命令:

yum install docker-ce docker-ce-cli containerd.io

5、启动 Docker 服务:安装完成后,执行以下命令启动 Docker 服务:

systemctl start docker

     使用以下命令设置开机自启:

systemctl enable docker

6、验证安装:执行以下命令来验证 Docker 是否正确安装:

docker version

     执行此命令后,你将看到 Docker 客户端和服务器的版本信息。

7、重启docker(可选)

service docker restart

五、用docker安装tomcat(tomcat这里以9.0版本为例,安装前最好查看一下自己的tomcat版本,把版本号最好匹配上)

1、安装tomcat:9.0

docker pull tomcat:9.0

2、查看一下是否安装成功

docker images

备注:

        如果你要删除镜像(安装的服务,如tomcat) ,用该步骤:docker rmi IMAGEID

  • IMAGEID:可以在docker images中查询到

3、启动tomcat(在容器中运行镜像)

docker run -d -p 8088:8080 --name CONTAINERTName1 tomcat:9.0
  • docker run: 运行 Docker 容器的命令。
  • -d: 在后台(守护进程)模式下运行容器。这意味着容器将在后台运行而不会占据当前终端会话。这个地方可以换成-t:分配一个伪终端(pseudo-TTY)并保持 STDIN 打开,使容器在交互式终端模式下运行。
  • -p 8088:8080: 将主机(宿主机)的端口 8088 映射到容器的端口 8080。这允许通过访问主机的 8088 端口来访问容器中运行的 Tomcat,这个主机(宿主机)端口你可以自定义,但需要注意服务器防火墙是否允许该端口访问。
  • CONTAINERName1: 这个选项指定了容器的名称为 "CONTAINERName1"。您可以将其替换为您希望为容器设置的实际名称,如:tomcat。
  • tomcat:9.0: 指定要运行的容器的镜像版本。在这种情况下,使用的是 Tomcat 9.0 镜像。

 综合起来,该命令的含义是在后台模式下运行一个基于 Tomcat 9.0 镜像的容器,并将主机的 8088 端口映射到容器的 8080 端口。容器的名称被设置为 "CONTAINERTName1",这里我设置的是"tomcat"。

4、查看正在运行的镜像容器,注意CONTAINER ID很重要。

docker ps

 备注:

        如果你要删除容器,用该命令:docker rm -rf ID

5、测试tomcat是否配置成功

在自己的电脑浏览器网址框中输入

服务器公网ip:8088
  • 8088是本步骤3中设置的开放端口

 注意:如果你的网站一直无法正常加载,那就是端口没有开放,请参考如下两篇文章

①腾讯云:之后补,

②阿里云:http://t.csdn.cn/8C3oQ

 出现这个tomcat部署就成功了,恭喜你。

六、部署web项目到tomcat上(我的项目是SpringCampus) 

1、将自己在本地的war包或文件夹,复制到tomcat容器中

docker cp pathWar CONTAINER_ID:/usr/local/tomcat/webapps/
  • pathWar:步骤二中上传的war包绝对路径位置

  • CONTAINER_ID:tomcat容器ID

2、进入到tomcat容器内部

docker exec -it tomcat bash

     切换到webapps目录

cd webapps

     查看步骤1中的war包或文件夹是否拷贝过来了

ls

 查询到有文件,success!

下面是该步骤实例,供参考。

3、退出容器

exit

4、重启tomcat容器

docker restart CONTAINER_ID
  • CONTAINER_ID:tomcat容器ID。这个地方也可以直接用容器名称:tomcat。

5、测试

服务器公网ip:8088:项目名称

我的SpringCampus项目:

恭喜你已经成功将web项目部署到服务器上!一起努力哦~ 

七、用docker安装MYSQL并部署(mysql这里以8.0.31为例)

注意:MySQL版本无论在自己的web项目结构内还是服务器上都要一致。8.0以上还是以下,连接方式都有一些不同。详情可以看我的这篇博客,直接copy用就行。

http://t.csdn.cn/EirwP

1、安装mysql:8.0.31:

docker pull mysql:8.0.31

2、创建一个MySQL容器:

docker run --name CONTAINERName2 -e MYSQL_ROOT_PASSWORD=RootPassword -p 3306:3306 -d mysql:8.0.31
  • docker run: 这是 Docker 命令的一部分,用于创建并启动一个新的容器。
  • CONTAINERName2: 指定了容器的名称为 "CONTAINERName2"。可以将其替换为你希望为容器设置的实际名称,如:mysql。
  • RootPassword:你需要将 "RootPassword" 替换为你希望设置的实际密码。这个密码将用于 root 用户的身份验证。
  • -p 3306:3306: 这个选项指定了端口映射,将容器内的 MySQL 端口 3306 映射到主机上的 3306 端口。这样可以通过主机的 3306 端口访问 MySQL 服务器。
  • -d mysql:8.0.31: 这个选项指定了要使用的 Docker 镜像。在这种情况下,使用的是名为 "mysql" 的官方 MySQL 镜像,并指定版本为 8.0.31。Docker 将根据这个镜像创建并启动容器。

3、启动MySQL容器

docker start CONTAINERName2

 到这一步,你已经可以通过navicat15连接服务器云数据库了,并在数据库中设置支持自己web项目的数据信息。

4、连接到MySQL容器

docker exec -it CONTAINERName2 mysql -uroot -p
  • docker exec: 这是 Docker 命令的一部分,用于在正在运行的容器中执行命令。

  • -it: 这个选项结合在一起表示要以交互模式运行命令,并且将终端连接到容器的标准输入和输出。这样可以与容器进行交互。

  • CONTAINERName2: 这是容器的名称,用于指定要在其中执行命令的容器。你需要将 "CONTAINERName2" 替换本步骤2中所起的MySQL容器名称。

  • mysql: 这是要在容器内执行的命令,即 MySQL 命令行客户端。

  • -uroot: 这个选项指定要使用的 MySQL 用户名为 "root"。这表示使用 root 用户连接到 MySQL 服务器。

 然后输入本步骤2创建容器时设置的MySQL密码

5、进入MySQL中通过SQL语句设置你所需要的数据信息以支持web项目。

                                          大功告成!!                                       

如果能帮到你,请帮我点个赞,让这篇博文能被更多人看到,避免走弯路。 

如果有问题,请在评论区或者私信告诉我,我看到后会第一时间解决。

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江輕木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值