对于独立的项目(前端、后台单体服务、数据库),部署到新服务器上时,常常需要繁琐的配置与环境安装,这里介绍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

  2. 安装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. 码云(https://gitee.com/spzmmd/docker-env)下载环境部署文件,将目录上传到服务器/home/app/soft目录下

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

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

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

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

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

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

CentOS 7.6部署Vue + SrpingBoot + MySQL单体项目的更多相关文章

  1. centos上发布部署python的tornado网站项目完整流程

    先说下大体上的做法,开发环境上要新弄一个 virtualenv的环境,在这个里面放你的开发调试,当然这个其实也不是必须的,但是这样会方便管理一些. 再在centos上也弄一个 virtualenv虚拟 ...

  2. vue+express+mysql +node项目搭建

    项目搭建前需要先安装node环境及mysql数据库. 1.利用vue-cli脚手架创建一个vue项目 a.全局安装 npm install -g vue-cli b.初始化项目 vue init we ...

  3. jenkins 自动化部署vue前端+java后端项目 进阶一

    今天又不想写了,那么我来将我参考的文章直接分享给大家好了,大家也可以直接进行参考: 这里以centos7为例搭建自动化部署项目: 1.搭建部署前端服务代理nginx: 借鉴于:https://blog ...

  4. centos 部署 vue项目

    安装Nodejs 下载安装包,可选择其他版本 node-v10.16.0-linux-x64.tar.xz 将下载文件上传至linux服务器并解压 tar -xvf node-v10.16.0-lin ...

  5. CentOS7.3下部署Rsyslog+LogAnalyzer+MySQL中央日志服务器

    一.简介 1.LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端.它提供了对日志的简单浏览.搜索.基本分析和一些图表报告的功能.数据可以从数据库或一般的syslog文本文件中 ...

  6. 【转载】Centos系统快速部署LNMP环境

    PHP语言在Linux系统上运行的时候,需要在Linux系统上部署相应的Nginx.MySQL.PHP等环境,只有将这些环境参数都设置好,PHP相关应用程序才可正常运行,部署环境的方法有很多种,可手动 ...

  7. RHEL6 最小化系统 编译安装部署zabbix (mysql)

    RHEL6 最小化系统 编译安装部署zabbix (mysql)官方说明详细见:https://www.zabbix.com/documentation/4.0/manual/installation ...

  8. 阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器

    一.前言 Git是目前优秀和流行的源代码管理工具.而GitHub是一个面向开源及私有软件项目的托管云平台,但开源免费,私有收费.而公司出于商业化等目的需要搭建自己的源代码托管服务器.通过网上了解Gog ...

  9. CentOS7下部署java+tomcat+mysql项目及遇到的坑

    CentOS 7 下安装部署java+tomcat+mysql 前置:CentOS7安装:https://jingyan.baidu.com/article/b7001fe1d1d8380e7382d ...

随机推荐

  1. NGK乘势而上打造生态所,建立全方位的区块链生态系统

    当金融理财变成了生活的一部分,购买金融衍生品的眼光成为了影响生活质量重要组成部分.这是一个不缺少黄金的年代,一夜间实现财务自由的故事每天都在上演,但是由于太多人缺少发现黄金的眼睛,只能被财富和机遇拒之 ...

  2. Masterboxan INC 下半年将聚焦超高净值和家族全权委托客户

    "投资是一个没有终点的奋斗.我们不能简单的预测市场,而是应对市场做出正确的反应.这需要我们不断反思.总结.提升,找到自己的投资哲学,然后用一生的时间去坚守."Masterboxan ...

  3. 力扣1438. 绝对差不超过限制的最长连续子数组-C语言实现-中等难度

    题目 传送门 文本 给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit . 如果不存在满足条 ...

  4. Wireshark安装使用及报文分析

    先看链接!!! Wireshark使用教程:https://jingyan.baidu.com/article/93f9803fe902f7e0e56f5553.html Wireshark过滤规则筛 ...

  5. 微信小程序:标签字符串直接变成标签来显示要通过富文本技术

    rich-text标签存在nodes属性直接接受标签字符串

  6. NodeJs 入门到放弃 — 入门基本介绍(一)

    码文不易啊,转载请带上本文链接呀,感谢感谢 https://www.cnblogs.com/echoyya/p/14450905.html 目录 码文不易啊,转载请带上本文链接呀,感谢感谢 https ...

  7. Django框架的forms组件与一些补充

    目录 一.多对多的三种创建方式 1. 全自动 2. 纯手撸(了解) 3. 半自动(强烈推荐) 二.forms组件 1. 如何使用forms组件 2. 使用forms组件校验数据 3. 使用forms组 ...

  8. Pyqt5——带图标的表格(Model/View)

    需求:表格中第一列内容为学生学号,为了突出学号的表示,在第一列的学号旁增加学号图标. 实现:(1)使用Qt的model-view模式生成表格视图. (2)重写代理(QAbstractItemDeleg ...

  9. nginx错误分析 `104: Connection reset by peer`

    故障描述 应用从虚拟机环境迁移到kubernetes环境中,有些应用不定时出现请求失败的情况,且应用没有记录任何日志,而在NGINX中记录502错误.我们查看了之前虚拟机中的访问情况,没有发现该问题. ...

  10. HDOJ-6645(简单题+贪心+树)

    Stay Real HDOJ-6645 由小根堆的性质可以知道,当前最大的值就在叶节点上面,所以只需要排序后依次取就可以了. #include<iostream> #include< ...