ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

CentOS 7.6部署Vue + SrpingBoot + MySQL单体项目

2021-05-20 13:57:49  阅读:146  来源: 互联网

标签:Vue CentOS app sudo SrpingBoot compose yum install docker


对于独立的项目(前端、后台单体服务、数据库),部署到新服务器上时,常常需要繁琐的配置与环境安装,这里介绍Centos 7.6下如何搭建基于Docker的环境,以及如何使用docker部署一套Vue + SrpingBoot + MySQL的单体项目

建立环境使用的用户

拿到服务器,建议不要使用root来完成操作,建议建立一个专用的用户app,来负责项目部署等

su root

# 建立用户app及用户组appg
groupadd appg
useradd -g appg app    
passwd app

# 查看用户
id app

# 为hadoop添加sudo权限
visudo 
  app ALL=(ALL) ALL
  # ALL=(ALL) NOPASSWD: ALL # 免密码sudo,暂时不使用

# 切换到app用户
su app

# 建立相关目录 
cd ~
mkdir temp # 存放临时文件
mkdir soft # 存放环境和软件数据
mkdir product # 存放项目产品等部署文件
复制代码

初始环境安装与配置

yum换源

cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

vi /etc/yum.repos.d/CentOS-Base.repo
   # 将 mirrorlist= 注释掉
   # 将 baseurl= 开头行取消注释, 把该行内的域名(例如mirror.centos.org)替换为 mirrors.tuna.tsinghua.edu.cn

sudo yum makecache
复制代码

参考

时间更新

# 安装utpdate工具
yum -y install utp ntpdate

# 设置系统时间与网络时间同步
ntpdate cn.pool.ntp.org

# 将系统时间写入硬件时间
hwclock --systohc

# 设置系统时区为上海
timedatectl set-timezone Asia/Shanghai 
复制代码

Docker以及Docker compose安装

  1. 检查服务器环境是否支持docker

Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上; Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。 使用以下指令检查内核版本uname -r

  1. 安装docker-ce

按顺序执行以下指令(root账户下)

# 移除旧版本
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine
# 安装系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加软件源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 清理缓存
yum makecache fast
# 安装docker-ce
yum -y install docker-ce
# 启动docker服务
systemctl start docker
# 开机启动docker
systemctl enable docker
# 检查
docker -v
复制代码
  1. 更改docker镜像源(可选)
vi /etc/docker/daemon.json
复制代码

在daemon.json文件内写入

{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
复制代码
  1. 安装docker-compose(root账户下)
  • 方法一
# 国内源下载
curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# 
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

复制代码
  • 方法二
# 安装企业版linux附加包(epel)
yum -y install epel-release
# 安装pip
yum -y install python-pip
pip install --upgrade pip
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  --upgrade pip
# 安装docker-compose
pip install docker-compose
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  docker-compose
docker-compose --version
复制代码
  1. 添加当前用户到 docker 用户组,可以不用 sudo 运行 docker
    docker所属用户是root,为什么这里要添加docker用户组?因为当docker进程启动的时候,会设置该套接字可以被docker这个分组的用户读写
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo service docker restart     # 重启docker服务
su root                         # 切换到root用户
su app                      # 再切换到原来的应用用户以上配置才生效
# 测试添加用户组
docker run hello-world
复制代码

docker部署

  1. 服务器内先切换到app用户下,并进入/home/app/soft目录

  2. 码云(gitee.com/spzmmd/dock…

image.png

  1. 以singleBoot项目为例,从以下地址下载前端和后端项目并打包出前端文件(在dist文件夹下,包含static目录和index.html文件)和jar后端文件(在target目录下,需要改名为app.jar)

将前端文件上传到 /home/app/soft/single-deploy/nginx/page 目录

image.png

将后端文件app.jar上传到 /home/app/soft/single-deploy 目录

image.png

将初始化sql语句文件上传到 /home/app/soft/single-deploy 目录

image.png

  1. 命令行进入 /home/app/soft/single-deploy 目录,执行以下命令
docker-compose up -d
docker ps
复制代码

image.png

此时访问ip:8888,即可访问前端页面,单体项目部署成功

交流&联系

  • QQ群 欢迎加入Java交流群(qq群号: 776241689 )

  • 欢迎关注公众号"后端技术学习分享"获取更多技术文章! PS:小到Java后端技术、计算机基础知识,大到微服务、Service Mesh、大数据等,都是本人研究的方向。我将定期在公众号中分享技术干货,希望以我一己之力,抛砖引玉,帮助朋友们提升技术能力,共同进步!

  • 博客

原创不易,转载请在开头著名文章来源和作者。如果我的文章对您有帮助,请点赞/收藏/关注鼓励支持一下吧❤❤❤❤❤❤

标签:Vue,CentOS,app,sudo,SrpingBoot,compose,yum,install,docker
来源: https://blog.51cto.com/u_15169685/2793114

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有