腾讯云 Docker部署SSM项目 整个过程

前言:在这里分享并记录一下 自己把项目部署到云服务上的整个历程/-_-
使用到的软件: eclipse Xshell6 Xftp6 Navicat15 chrome浏览器
使用的服务器: 腾讯云+校园的 活动 +域名
使用到的项目:SSM-CRUD项目
数据库: mysql

一.腾讯云服务器Cent OS7.5版本

  1. 进入控制台查看下实例
    在这里插入图片描述

  2. 查看安全组
    在这里插入图片描述
    在这里插入图片描述
    注意: 要是阿里云需要配置安全组 并加入安全组

  3. 使用远程连接工具 xshell等 自带的远程控制台也可以 连接下服务器
    后查看下防火墙状态并关闭防火墙 我这边默认关闭状态
    在这里插入图片描述
    这里分享我遇到的一个坑
    之前捣鼓防火墙 然后重启服务器 远程连接 显示超时连接不上了
    是因为之前开启防火墙是忽略了一个提示
    在这里插入图片描述
    我是重装的系统 也可以使用vpn连接修改配置。

二. 安装Docker

参照docker官网:https://docs.docker.com/install/linux/docker-ce/centos/

1.安装所需的软件包
sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
2.使用以下命令来设置稳定的存储库
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
3.安装docker ce版本
sudo yum install docker-ce docker-ce-cli containerd.io
4.启动docker
sudo systemctl start docker
docker -v

查看安装docker版本
在这里插入图片描述

三. Docker部署Tomcat Mysql环境

1.先拉取镜像

#拉取tomcat镜像 默认latest版本
docker pull tomcat
#查看
docker images


查看下docker hub tomcat latest版本
在这里插入图片描述

#拉取mysql 8.0.16版本
docker pull mysql:8.0.16
#查看
docker images

在这里插入图片描述

2.部署mysql

#1.创建主机挂载目录
$ mkdir -p /docker_volume/mysql/data
#2.启动容器
$ docker run -d --restart=unless-stopped -p 30030:3306 \
    -v /docker_volume/mysql/data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=123456 \
    --name mysql mysql:8.0.16 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

简单说明一下 run启动
-d 守护太运行
-p 端口映射
-v 挂载数据卷
-e MYSQL_ROOT_PASSWORD=123456 设置root用户登录密码
– name 起名
在这里插入图片描述
使用navicat 远程连接测试一下
在这里插入图片描述
主机:腾讯云 ipv4地址(公)
端口:30030
用户名:root
密码:123456

mysql部署成功

mysql部署参考了:https://www.jianshu.com/p/d8bbfd6f151b

!!这里mysql采用5.7版本远程连接报错:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO/YES) 这个问题 解决要修改配置, 采用8.0版本就没问题。

3.再来tomcat

1.先启动一个tomcat 测试容器

docker run -d --name test -p 8080:8080 tomcat

在这里插入图片描述
2. 使用浏览器访问来看看
腾讯云 ipv4地址(公):8080
在这里插入图片描述
发现404
注意: 这里是404而不是拒绝访问,如果你是拒绝访问 应该是 安全组或防火墙的问题
3.

#我们进入启动的容器
docker exec -it test bash

在这里插入图片描述

#查看下目录
ls -al

在这里插入图片描述
查看webapps 跟webapps.dist目录 发现webapps是空的所以404 原里面的东西都放到了webapps.dist文件中
4.

#退出容器
exit

5.使用docker cp 把容器的配置文件跟webapps.dis拉取到宿主机

#拉取到本目录 
docker cp test:/usr/local/tomcat/conf/server.xml .
docker cp test:/usr/local/tomcat/webapps.dist/ ./webapps

在这里插入图片描述
6.然后停止 删除 之前的test容器

4.开始正式部署项目到tomcat

1.将本地 运行没毛病的 ssm项目打war包
run as
在这里插入图片描述
2.在项目目录下target下 的war包 用Xftp上传到服务器 /home/sufo目录下
在这里插入图片描述
3.

#拷贝到拉取的webapps目录下
cp ssm-crud-0.0.1-SNAPSHOT.war /usr/local/docker/tomcat/tt/webapps/

在这里插入图片描述
4.

我们要实现访问ip 直接到项目 而不是tomcat欢迎页 修改server.xml
vi server.xml

点击’/'查询 <Host 找到
在这里插入图片描述
修改成下图:
在这里插入图片描述

<Context path="" docBase="/usr/local/tomcat/webapps/xxxxxxx" />

esc :wq 保存退出即可

5.

#查看
ll

在这里插入图片描述
6.我们开启一个tomcat容器 用数据卷的方式挂载 我们配好的.xml跟webapps

#浏览器默认80端口 这里我们映射80端口
docker run -d --name xxx -p 80:8080 \
> -v /usr/local/docker/tomcat/tt/webapps:/usr/local/tomcat/webapps \
> -v /usr/local/docker/tomcat/tt/server.xml:/usr/local/tomcat/conf/server.xml \
> tomcat:xxx

这里是演示 so我映射的8080端口
在这里插入图片描述

#进入容器
docker exec -it tomcat_12 bash

7.查看 webapps 跟server.xml
在这里插入图片描述
这里说明一下进入容器一下命令无法使用 查看目录文件 使用ls -al 查看server.xml 使用cat 命令
在这里插入图片描述
8.
去浏览器输入腾讯云 ipv4地址(公) 查看 成功 但是 没有数据
忘了修改项目数据库了 哈哈

四.最后一步

1.将项目数据库导出
我用的是 navicat15
在这里插入图片描述
在这里插入图片描述
文件名为 数据库名+.sql
2. 用navicar连接部署部署好的mysql 创建一个名为ssm-crud (根据自己的实际情况来) 的数据库
执行sql文件即可
3.
查看从测试容器中拉取的 webapps目录
在这里插入图片描述
4.进入项目 ->WEB-INF->classes->dbconfig.properties
修改数据库配置

原来一直不理解写项目的时候为什么这么做 老师只说就为了以后部署服务器的时候方便 必须这么写 现在终于体会到了

#修改 相应的 ip地址 端口号 数据库密码
vi dbconfig.properties

esc :wq 保存并退出

5. 删除之前run的容器 重新run一个容器 挂载修改好数据库配置的webapps 跟server.xml

成功~!!!!

好 完结散花 另外出个ova 也可以购买一个域名
这里是 腾讯的云产品(域名要实名认证 否则无法使用)
在这里插入图片描述
点击解析
在这里插入图片描述
挂载 腾讯云 ipv4地址(公)
设置境内即可
在这里插入图片描述
等10分钟后 就可域名访问了。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值