2024/4/7 工作总结

前情摘要

key管理系统差不多完成了。

申请服务器还没下来,说是内存告急了。

把部署到服务器上需要的环境准备了下,梳理了下步骤,也记录下来吧。

部署项目到Linux所需环境

后端部署

MySQL(直接在Linux上安装)

一、下载

地址:MySQL

二、安装

1、创建文件夹存放安装包

mkdir /soft/mysql
cd /soft/mysql

2、将上传的压缩包解压到创建好的文件夹中

# 在当前目录下(mysql)下创建一个 mysql-8.0.26 文件夹
mkdir mysql-8.0.26
# 解压安装包到该目录下
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C mysql-8.0.26

3、下载插件

yum install openssl-devel
# 和
yum -y install libaio perl net-tools

4、安装好插件,一次安装 rpm 包

rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm 
​
rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm 
​
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm
​
rpm -ivh mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm
​
rpm -ivh  mysql-community-devel-8.0.26-1.el7.x86_64.rpm
​
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm
​
rpm -ivh  mysql-community-server-8.0.26-1.el7.x86_64.rpm

安装成功后,系统会自动注册一个 mysqld 服务

使用以下命令启动 mysql

systemctl start mysqld

rpm 安装 MySQL 会生成一个临时密码,可在 /var/log/mysqld.log文件中查找该密码

cat /var/log/mysqld.log

可以用这个密码登录 MySQL

二、安装MySQL

1、搜索镜像

docker search mysql

2、拉取镜像

docker pull mysql:8.0.26

3、创建容器,设置端口映射、目录映射

注意更换密码为强密码

# 在/root目录下创建mysql目录用于存储mysql数据信息
mkdir ~/mysql
cd ~/mysql

docker run --name mysql -v /myapp/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.26

docker run -id \
-p 3307:3306 \
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:8.0.26

4、进入容器

docker exec –it c_mysql /bin/bash

5、将本地数据库导出sql文件导入到服务器上的数据库中

三、部署SpringBoot项目
先使用maven打包工具导出jar包
服务器开放项目对应端口

1、安全组开放

2、防火墙开放

# firewall-cmd --zone=public --add-port=端口号/tcp --permanent
firewall-cmd --zone=public --add-port=7777/tcp --permanent

3、重启防火墙以生效

firewall-cmd --reload

4、编写 Dockerfile 文件

jar包同级目录下

FROM java:8  #定义父镜像
MAINTAINER itfeng<xxxxxx666@163.com> #定义作者信息
#ADD 文件名 app.jar (我到时打算把jar包和Dockerfile文件放在同一级目录文件)
ADD ./group5-0.0.1-SNAPSHOT.jar app.jar #将jar包添加到容器
CMD java -jar app.jar  #定义容器启动执行的命令 app.jar的名字可自取

5、Dockerfile构建镜像

docker build -f ./Dockerfile -t app .

6、创建容器

docker run -id -ip 8888:8888 app

7、查看正在运行的容器

docker ps

Docker 方式

Docker

简化部署

一、安装
# 搭建gcc环境
yum -y install gcc
yum -y install gcc-c++
# 安装所需软件包
yum install -y yum-utils
# 装镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 新 yum 软件包索引
yum makecache fast
# 安装 docker 引擎
yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 启动 docker
systemctl start docker

配置阿里云镜像加速

二、拉取镜像
docker pull java:8

docker pull mysql:8.0.26

docker pull redis:6.0.8

docker pull nginx:1.18.0

# 查看镜像
docker images
三、部署后端

启动数据库容器

docker run --name mysql -v /myapp/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.26

启动Redis容器

docker run -d --name redis -p 6379:6379 redis:6.0.8 --requirepass "123456"

导入sql数据

查看容器id

docker ps -a

进入mysql容器

docker exec -it [容器id] /bin/bash

登录mysql

mysql -uroot -p

创建数据库,并在指定数据库使用source命令导入数据

或者直接使用navicat连接远程数据库,导入sql

进入jar包同级目录下,创建Dockerfile文件

#基础镜像使用jdk1.8
FROM java:8
 
#作者
MAINTAINER pan
 
# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
VOLUME /tmp
 
# 将jar包添加到容器中并更名
ADD ruoyi-admin.jar app.jar
 
# 运行jar包
RUN bash -c 'touch /app.jar'
 
# 为了缩短 Tomcat 启动时间,添加一个系统属性指向 “/dev/./urandom” 作为 Entropy Source
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
 
#ENTRYPOINT ["nohup","java","-jar","/data/cat/ruoyi-admin.jar","&"]
 
#暴露8085端口
EXPOSE 8085

构建镜像

docker build -t cat:1.0 .

查看镜像

docker images

启动后端项目镜像

docker  run -d --name cat -p 8085:8085 cat:1.0

查看容器是否启动成功

docker ps -a

浏览器访问

四、前端部署
创建nginx工作目录
#需要一个conf文件存放目录,和html文件目录,及日志存放目录
mkdir -p /data/applications/nginx/conf
mkdir -p /data/applications/nginx/html
mkdir -p /data/logs
启动nginx容器
docker run --name nginx -p 80:80 -d nginx:1.18.0
复制容器中配置文件目录到本机,然后删除该容器
# 复制配置
docker cp nginx:/etc/nginx/nginx.conf /data/applications/nginx/conf/nginx.conf
docker cp nginx:/etc/nginx/conf.d /data/applications/nginx/conf/conf.d
docker cp nginx:/usr/share/nginx/html /data/applications/nginx/
 
#先用 [docker ps – a] 命令 找到对应容器ID
#才可以删除容器
docker rm -f [容器ID]
启动新的nginx容器
docker run -d \
-p 80:80 \
-p 443:443 \
--name nginx \
--restart=always \
--network-alias nginx \
-e TZ="Asia/Shanghai" \
-v /data/applications/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/applications/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /data/logs/nginx:/var/log/nginx \
-v /data/applications/nginx/html:/usr/share/nginx/html \
-v /data/applications/nginx/cert:/etc/nginx/cert \
nginx:1.18.0
查看容器
docker ps -a

浏览器访问

修改项目配置

.env.production文件 修改公网IP和端口号

知识分享

关于后台知识分享PPT,自己做的时候考虑的问题太少了,确实字太密密麻麻了,没有图示,看起来非常生硬,也容易视觉疲劳,在导师建议下修改了一下。

  • 40
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值