本文章内容操作环境采用的技术是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
五、配置项目运行环境
进入管理员终端,在云服务器本地安装jdk和用docker安装tomcat(jdk这里以openJDK8为例子,tomcat这里以9.0版本为例,安装前最好查看一下自己的tomcat版本,把版本号最好匹配上)
1、云服务器本地安装openJDK8
①:更新库
apt-get update
②:下拉openjdk:8
apt-get install openjdk-8-jdk
③:验证安装
java -version
2、docker安装tomcat:9.0
①:下拉tomcat:9.0
docker pull tomcat:9.0
②:查看一下是否安装成功
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中设置的开放端口
注意:如果你的网站一直无法正常加载,那就是端口没有开放,请参考如下两篇文章
①腾讯云:之后补,
![]() |
出现这个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项目。
大功告成!!
如果能帮到你,请帮我点个赞,让这篇博文能被更多人看到,避免走弯路。
如果有问题,请在评论区或者私信告诉我,我看到后会第一时间解决。