阿里云(云服务器)上搭建项目部署环境

目录

安装docker

docker安装MySQL5.7.37

安装MySQL

方式一:docker中MySQL时区调整

方式二:docker中MySQL时区调整

docker安装MySQL8.0.27

docker安装redis5.0.14

云服务器上安装jdk1.8


安装docker

1、先卸载docker,因为有一些服务器上存在已经安装好的docker

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

如果之前没有安装过,出现的内容如下:

2、执行安装yum-utils指令

sudo yum install -y yum-utils

3、配置docker的地址,就是指定repo所在地

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4、安装docker,中途遇到的让你输入y/n的,都输入 y 就行。

sudo yum install docker-ce docker-ce-cli containerd.io

5、启动docker

sudo systemctl start docker

6、查看docker版本号

docker -v

查看目前有哪些镜像: docker images

说明目前是空的。

7、设置docker开机自动启动

systemctl enable docker

8、重启docker

sudo systemctl restart docker

9、配置阿里镜像加速

sudo mkdir -p /etc/docker


sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://e515yx9g.mirror.aliyuncs.com"]
}
EOF

10、重启docker后台运行线程以及重启容器服务:

sudo systemctl daemon-reload

sudo systemctl restart docker

这样一来,后续拉取一些软件的镜像,就是从阿里云镜像中拉取的了,速度也会非常快。

11、其他指令

# 查看镜像
docker images

# 删除镜像
docker rmi 7614ae9453d1
或者是
docker rmi redis:latest

# 删除容器中的镜像
docker rm 容器id

docker安装MySQL5.7.37

安装MySQL

先拉取镜像:

docker pull mysql:5.7.37

然后这里估计需要等待很长一段时间,看自己网速。

安装完毕之后,使用docker images 查看镜像。

0、添加初始化配置文件:(这一步可用,可不用,看自己需求)

# 创建文件夹
mkdir -p /docker/mysql/conf
# 编辑/填加配置文件
vim /docker/mysql/conf/my.cnf
# 在配置文件中加入以下语句
[client]
default_character_set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation_server=utf8_general_ci
character_set_server=utf8

1、运行挂载MySQL:

docker run -p 3306:3306 \
--privileged=true \
-v /home/mysql/log:/var/log/mysql \
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
--restart=always \
--name mysql \
-d mysql5.7.37

指令解释:

  • docker run: 运行一个容器,每个容器相互隔离,是独立的运行环境,是一个完整的实例。

  • -p 3306:3306:把mysql容器自己的端口映射到虚拟主机,这样我们才能访问,这是端口映射。(左侧是本地端口:右侧是docker容器里的端口)

  • –name mysql:为MySQL容器取名。

  • -v:文件路径的挂载。(数据库文件,日志,配置文件)

2、启动MySQL服务:docker start mysql

3、登录MySQL实例 或者是 直接使用navicat连接查看是否可以连接成功也行。

docker exec -it mysql /bin/bash # 进入MySQL实例
mysql -uroot -proot # 登录MySQL

方式一:docker中MySQL时区调整

注意:使用镜像安装的MySQL,可能MySQL的时区会与自己本地的时区不一致,所以需要自己检查一下,一般来说,可能会被上海时间慢8个小时。

1、先查看目前MySQL的时间,是否与本地电脑一致

# 查看MySQL的容器Id
docker ps

# 查看指定容器的当前时间,如果与上海时间一致,就不用管了,如果不一致的话,那就需要调整
docker exec -it 2刚刚查询出来的MySQL容器id date

2、查看宿主机的时间是否正确

timedatectl

发现宿主机的时区是正常的,所以我们就可以直接让MySQL的时间按照宿主机的时间来。

如果宿主机不是上海时区,那么就需要先调整宿主机的时区:使用 timedatectl 查看时区

使用指令修改为上海时区:

sudo timedatectl set-timezone Asia/Shanghai

再次查看宿主机的时区:timedatectl

3、调整MySQL的时区

# 进入MySQL容器中  mysql容器id可以使用 docker ps进行查询
docker exec -it MySQL容器id bash

# 使用 ln 命令创建时区链接,比如对于上海时区:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# 退出容器
exit

# 重新查询MySQL容器的时间是否设置成功
docker exec -it  mysql容器id  date

# 然后再navicat中关闭这个数据库的连接,然后重新连接,然后就可以了

方式二:docker中MySQL时区调整

直接在容器启动的时候设置时区。

# 先查看MySQL的容器Id
docker ps 

# 设置时区
docker run -e TZ=Asia/Shanghai MySQL容器id

# 停止MySQL容器
docker stop MySQL的容器Id或者是MySQL容器的名称

# 重新启动
docker start MySQL的容器Id或者是MySQL容器的名称

# 验证时区是否正确设置
docker exec -it  MySQL的容器Id或者是MySQL容器的名称 date

docker安装MySQL8.0.27

1、docker pull mysql:8.0.27

2、检查镜像是否存在:docker images

3、创建准备挂载的文件夹,-p 选项,该选项的作用是当目录已经存在时不报错,而是以静默方式跳过。

mkdir /home/mysql8/log -p
mkdir /home/mysql8/data -p
mkdir /home/mysql8/conf -p
mkdir /home/mysql8/mysql-files -p

4、启动MySQL容器,这里自己指定自己的密码,我们就指定为 root就行。

docker run -p 3306:3306 --name mysql \
-v /home/mysql8/log:/var/log/mysql \
-v /home/mysql8/data:/var/lib/mysql \
-v /home/mysql8/conf:/etc/mysql \
-v /home/mysql8/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0.27 \
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

5、修改MySQL的配置文件

vim /home/mysql8/conf/my.cnf

添加如下内容:

[client]
port=3306
default_character_set=utf8mb4

[mysql]
default_character_set=utf8mb4

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake  #  忽略客户端的字符集,使用服务器的设置

6、重启MySQL容器

docker restart mysql

7、使用navicat进行连接MySQL

docker安装redis5.0.14

1、拉取镜像,提前创建配置文件,进行数据挂载

# 拉取指定版本的redis镜像
docker pull redis:5.0.14

# 提前创建配置redis配置文件存放处
mkdir -p /home/redis5.0.14/conf
touch /home/redis5.0.14/conf/redis.conf

# 执行redis数据挂载
docker run -p 6379:6379 --name redis \
-v /home/redis5.0.14/data:/data \
-v /home/redis5.0.14/conf/redis.conf:/etc/redis/redis.conf \
-d redis:5.0.14 \
redis-server /etc/redis/redis.conf

如图:

指令解释:

  • 用6379做好端口映射,用redis作为服务容器的名字

  • data和conf做好目录映射

  • -d 后台运行

  • 指定配置文件运行redis-server

2、修改redis.conf   这里的redis.conf的位置就是我们第一步创建的redis.conf的位置

vim /home/redis5.0.14/conf/redis.conf

目前redis.conf中配置为空,所以数据无法持久化,我们可以使用aof或者rdb来进行持久化。添加如下内容:root是我们设置的密码

requirepass root
appendonly yes

然后重新启动:docker restart redis

如果不小心都创建了一个实例,可以使用下面的方式进行删除:

3、为redis服务设置跟随docker重新启动:

docker update redis --restart=always

重新启动容器:systemctl restart docker

然后使用docker ps -a 查询容器中服务启动状态,看 status这个时间就知道了。

4、使用redis客户端进行连接测试

云服务器上安装jdk1.8

官网下载,但是需要有oracle账号才可以进行下载,或者是从其他地方获取到这个 jdk的Linux安装包也行。

Java Downloads | Oracleicon-default.png?t=N7T8https://www.oracle.com/java/technologies/downloads/#java8

1、把下载好的jdk安装包上传到服务器上,自己选择一个文件夹上传.gz的jdk文件,比如你把jdk上传到 /user/java/ 文件夹下,然后你需要进入到/user/java/ 这个文件夹执行下面的解压指令,解压到指定的目录/home/jdk/

tar -zxvf jdk-8u341-linux-x64.tar.gz -C /home/jdk/

2、使用 which java 可以查看java可执行文件的路径,我们需要的是bin的上一级路径,/home/jdk/jdk1.8.0_341

3、配置环境变量

# 配置环境变量
vim /etc/profile #输入指令编辑etc/profile文件

# 向文本最后插入以下几行
export JAVA_HOME=/home/jdk/jdk1.8.0_341  # 刚刚使用which java获取到的bin的上级路径
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/Lib:${JRE_HOME}/Lib
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

# 保存这个profile文件  按esc进入指令模式  输入 :wq 然后回车进行保存,如果不想保存可以使用 q! 然后回车

# 刷新配置
source /etc/profile

 3、# 测试是否安装成功   java -version

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/232255.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Grad-CAM原理

这篇是我对哔哩哔哩up主 霹雳吧啦Wz 的视频的文字版学习笔记 感谢他对知识的分享 只要大家一提到深度学习 缺乏一定的解释性 比如说在我们之前讲的分类网络当中 网络它为什么要这么预测 它针对每个类别所关注的点在哪里呢 在great cam这篇论文当中呢 就完美的解决了在cam这篇论…

SpringSecurity6 | 自定义登录页面

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; Java从入门到精通 ✨特色专栏&#xf…

基于Vue框架的电子商城购物平台小程序的设计与开发

基于JavaWebSSMVue电子商城购物平台小程序系统的设计和实现 源码获取入口KaiTi 报告/Ren务书Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 KaiTi 报告/Ren务书 一、选题的目的和意义 自从微信推出了微信小程序…

1.cloud-微服务架构编码构建

1.微服务cloud整体聚合父工程 1.1 New Project 1.2 Maven选版本 1.3 字符编码 1.4 注解生效激活 主要为lombok中的Data 1.5 java编译版本选8 1.6 File Type过滤 *.hprof;*.idea;*.iml;*.pyc;*.pyo;*.rbc;*.yarb;*~;.DS_Store;.git;.hg;.svn;CVS;__pycache__;_svn;vssver.scc;v…

Web 开发的 20 个实用网站

Web 开发的 20 个实用网站 作为一名前端开发工程师&#xff0c;我们一定使用过很多工具来提高自己的工作效率。它们可以是网站、文档或 JavaScript 库。 本文将分享30个有趣的网站。 JavaScript正则表达式可视化工具 https://jex.im/regulex/#!flags&re%5E(a%7Cb)*%3F%…

金南瓜SECS/GEM C# SDK 快速使用指南

本文对如何使用金南瓜SECS/GEM C# SDK 快速创建一个满足SECS/GEM通信要求的应用程序&#xff0c;只需简单3步完成。 第一步&#xff1a;创建C# .NET程序 示例使用Visual Studio 2010&#xff0c;使用者可以选择更高级版本 Visual Studio 第二步&#xff1a;添加DLL库引用&am…

力扣37. 解数独(java回溯解法)

Problem: 37. 解数独 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 该题可以使用回溯来模拟穷举。回溯问题通常涉及到可选列表&#xff0c;决策阶段&#xff0c;决策路径&#xff0c;而对于本题目我们选择将棋盘的每一个格子作为决策阶段&#xff0c;为此我们应该解…

短视频ai剪辑分发矩阵系统源码3年技术团队开发搭建打磨

如果您需要搭建这样的系统&#xff0c;建议您寻求专业的技术支持&#xff0c;以确保系统的稳定性和安全性。 在搭建短视频AI剪辑分发矩阵系统时&#xff0c;您需要考虑以下几个方面&#xff1a; 1. 技术实现&#xff1a;您需要选择适合您的需求和预算的技术栈&#xff0c;例如使…

STM32 配置TIM定时中断常用库函数

单片机学习&#xff01; 目录 ​编辑 1. 函数TIM_DeInit 2. 函数TIM_TimeBaseInit 配置时基单元 3. 函数TIM_TimeBaseStructInit 4. 函数TIM_Cmd 运行控制 5. 函数TIM_ITConfig 中断输出控制 6. 时基单元的时钟选择函数 6.1 函数TIM_InternalClockConfig 6.2 函数 TIM…

【图论笔记】克鲁斯卡尔算法(Kruskal)求最小生成树

【图论笔记】克鲁斯卡尔算法&#xff08;Kruskal&#xff09;求最小生成树 适用于 克鲁斯卡尔适合用来求边比较稀疏的图的最小生成树 简记&#xff1a; 将边按照升序排序&#xff0c;选取n-1条边&#xff0c;连通n个顶点。 添加一条边的时候&#xff0c;如何判断能不能添加…

python数据分析小案例:天猫订单数据综合分析

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 本数据集共收集了发生在一个月内的28010条数据&#xff0c;包含以下&#xff1a; 7个字段说明 订单编号&#xff1a;订单编号 总金额&#xff1a;订单总金额 买…

if语句和switch语句来确定金额之下的优惠折扣

一、优惠规则 输入相应的金额&#xff0c;可以获得规则之下&#xff0c;金额相应的享受的折扣&#xff0c;需要先定义金额&#xff0c;然后就是使用if语句进行判断&#xff0c;使用switch语句选择判断规则之下对应的优惠折扣。 二、相关代码 public class DiscountPrice {p…

Dockerfile文件

什么是dockerfile? Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取Dockerfile中的指令自动生成映像。 docker build命令用于从Dockerfile构建映像。可以在docker build命令中使用-f标志指向文件系统中任何位置的Docke…

ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders

1.关于稀疏卷积的解释&#xff1a;https://zhuanlan.zhihu.com/p/382365889 2. 答案&#xff1a; 在深度学习领域&#xff0c;尤其是计算机视觉任务中&#xff0c;遮蔽图像建模&#xff08;Masked Image Modeling, MIM&#xff09;是一种自监督学习策略&#xff0c;其基本思想…

rpc原理与应用

IPC和RPC&#xff1f; RPC 而RPC&#xff08;Remote Procedure Call&#xff09;&#xff0c;又叫做远程过程调用。它本身并不是一个具体的协议&#xff0c;而是一种调用方式。 gRPC 是 Google 最近公布的开源软件&#xff0c;基于最新的 HTTP2.0 协议&#xff0c;并支持常见…

【计算机网络】HTTPS协议原理

目录 一. HTTPS的基础概念 二. 概念准备 1. 密码学 2. 为什么要加密 三. 常见加密方式 1. 对称加密 2. 非对称加密 四. HTTPS原理探究 五. CA认证 1. 数据指纹&&数据摘要 2. 证书 3. 签名与验证 4. 琐碎知识点 5. 总结——完整流程 结束语 一. HTTPS的基…

开发猿的平平淡淡周末---2023/12/9

上周回顾 完成了遗留的开发任务&#xff0c;基本全部完成进一步了解了系统当时设计的原理熟悉了代码的重构 2023.12.9 天气晴 温度适宜 前言 小伙伴们大家好&#xff0c;时间很快&#xff0c;又来到了周末&#xff0c;也是一个平平淡淡的周末。上周只更了一篇博客...原…

交换机基本原理和配置

目录 一、数据链路层功能 二、交换机的工作原理 三、交换机的四大功能 一、数据链路层功能 位于网络层与物理层之间 数据链路的建立、维护与拆除帧包装、帧传输、帧同步帧的差错恢复流量控制 二、交换机的工作原理 交换机通过数据帧的源 MAC 地址&#xff0c;学习到交换机端…

讲座 | 颠覆传统摄像方式乃至计算机视觉的“脉冲视觉”

传统相机拍摄视频时其实是以一定帧率进行采样&#xff0c;视频其实还是一串图片的集合&#xff0c;因此低帧率时会觉得视频卡&#xff0c;拍摄高速运动物体时会有运动模糊等等问题。然而你能想象这一切都可以被“脉冲视觉”这一前沿技术改变吗&#xff1f; 今天下午听了北京大学…

数据库数据恢复—Mysql数据库误删表数据的数据恢复案例

mysql数据库数据恢复环境&#xff1a; 本地服务器&#xff0c;windows server操作系统 &#xff0c;部署有mysql单实例&#xff0c;数据库引擎类型为innodb&#xff0c;独立表空间&#xff0c;无数据库备份&#xff0c;未开启binlog。 mysql数据库故障&#xff1a; 工作人员使…
最新文章