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

news2024/11/17 11:35:16

目录

安装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.coloradmin.cn/o/1298994.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

docker学习(七、搭建mysql8.2主从)

一、主库搭建 1.构建主库镜像 # 运行mysql镜像&#xff0c;配置端口3307为主库 docker run -p 3307:3306 --name mysql-master --privilegedtrue -v /mydata/mysql-master/log:/var/log/mysql -v /mydata/mysql-master/data:/var/lib/mysql -v /mydata/mysql-master/conf:/etc…

C语言有哪些预处理操作?

C语言的预处理是在编译之前对源代码进行处理的阶段&#xff0c;它主要由预处理器完成。预处理器是一个独立的程序&#xff0c;它负责对源代码进行一些文本替换和处理&#xff0c;生成经过预处理的代码。以下是C语言预处理的一些重要特性&#xff1a; 1&#xff0c;头文件包含 #…

ArchLinux安装详细步骤

下载&#xff08;略&#xff09;安装VirtualBox&#xff08;略&#xff09;新建虚拟机&#xff08;略&#xff09;启动 进入提示符 进入安装设置界面 archinstall出现界面&#xff1a; 逐项设置。 Disk我选择了ext4 在Profile中 我选择了KDE作为桌面&#xff08;选择后按回车…

全面高压化与全面超快充,破解新能源汽车的时代难题

是什么让新能源车主感到疲惫与焦虑&#xff1f;是什么阻挡更多消费者选择新能源汽车&#xff1f;我们在身边进行一个简单的调查就会发现&#xff0c;问题的答案非常一致&#xff1a;充电。 充电难&#xff0c;充电慢的难题&#xff0c;始终是困扰新能源汽车产业发展&#xff0c…

玩转大数据12:大数据安全与隐私保护策略

1. 引言 大数据的快速发展&#xff0c;为各行各业带来了巨大的变革&#xff0c;也带来了新的安全和隐私挑战。大数据系统通常处理大量敏感数据&#xff0c;包括个人身份信息、财务信息、健康信息等。如果这些数据被泄露或滥用&#xff0c;可能会对个人、企业和社会造成严重的损…

『 MySQL数据库 』聚合统计

文章目录 前言 &#x1f951;&#x1f95d; 聚合函数&#x1f353; COUNT( ) 查询数据数量&#x1f353; SUM( ) 查询数据总和&#x1f353; AVG( ) 查询数据平均值&#x1f353; MAX( ) 查询数据最大值&#x1f353; MIN( ) 查询数据最小值 &#x1f95d; 数据分组GROUP BY子句…

拆分降采样与归一化(LN和BN)

拆分降采样&#xff1a;在ConvNeXt网络中使用一个步长为2的 22 卷积插入到不同的步骤之间&#xff0c;而且在降采样前后各加入了一个LN(一种归一化设计&#xff0c;这些归一化用来保持模型的稳定性) 为什么要进行归一化呢&#xff1f; 我们以BN为例 &#xff08;1&#xff0…

uniapp如何制作一个收缩通讯录(布局篇)

html&#xff1a; <view class"search"><view class"search_padding"><u-search change"search" placeholder"请输入成员名称" v-model"keyword"></u-search></view></view> <view…

【win10用vim开发stm32】二、vimspector的单片机调试

▲ 我的vim配置仓库: gitee&#xff0c;vim相关优先在gitee更新&#xff0c;博客vim专栏作为部分补充和使用说明 ▲ 本文提供vimspector调试的一个示例&#xff0c;和keil的调试功能比当然还是有很大差距&#xff0c;不过简单的调试功能如单步、复位、运行这些都跑通了&#xf…

Android 分享小结

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、微信 分享 三、 QQ 、QQ空间&#xff08;Qz…

vscode 编译运行c++ 记录

一、打开文件夹&#xff0c;新建或打开一个cpp文件 二、ctrl shift p 进入 c/c配置 进行 IntelliSense 配置。主要是选择编译器、 c标准&#xff0c; 设置头文件路径等&#xff0c;配置好后会生成 c_cpp_properties.json&#xff1b; 二、编译运行&#xff1a; 1、选中ma…

4.8 构建onnx结构模型-Less

前言 构建onnx方式通常有两种&#xff1a; 1、通过代码转换成onnx结构&#xff0c;比如pytorch —> onnx 2、通过onnx 自定义结点&#xff0c;图&#xff0c;生成onnx结构 本文主要是简单学习和使用两种不同onnx结构&#xff0c; 下面以 Less 结点进行分析 方式 方法一&a…

Android 相机库CameraView源码解析 (五) : 保存滤镜效果

1. 前言 这段时间&#xff0c;在使用 natario1/CameraView 来实现带滤镜的预览、拍照、录像功能。 由于CameraView封装的比较到位&#xff0c;在项目前期&#xff0c;的确为我们节省了不少时间。 但随着项目持续深入&#xff0c;对于CameraView的使用进入深水区&#xff0c;逐…

QT之常用按钮组件

QT之常用按钮组件 导入图标 布局 显示选中 实验结果 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }void Widget::on_push…

‘ChatGLMTokenizer‘ object has no attribute ‘tokenizer‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

六要素金属气象仪-科普小百科

随着科技的发展&#xff0c;气象监测设备也日新月异。今天&#xff0c;我们将为你介绍一款全新的六要素金属气象仪&#xff0c;它能够实时监测环境温度、相对湿度、风速、风向、大气压力、压电雨量等关键气象参数&#xff0c;为你的生活和工作保驾护航。 一、产品简介 WX-Y6S…

浪潮信息:数字化转型的策略与实践

在数字化浪潮的推动下&#xff0c;浪潮信息正致力于将计算创新推向新的高度。作为科技发展的排头兵&#xff0c;浪潮信息深知算力的重要性&#xff0c;因此不断探索前所未有的解决方案。在这个过程中&#xff0c;浪潮信息的研发人员和科技工作者如同探险家&#xff0c;勇敢地迎…

ky10 server x86 设置网卡开机自启

输入命令查看网卡名称 ip a 输入命令编辑网卡信息 vi /etc/sysconfig/network-scripts/*33改成yes 按ESC键&#xff0c;输入:wq&#xff0c;保存

m6A RNA甲基化MeRIP-seq测序分析实验全流程解析

甲基化RNA免疫共沉淀(MeRIP-seq/m6A-seq)实验怎么做&#xff0c;从技术原理、建库测序流程、信息分析流程和研究套路等四方面详细介绍。 一、甲基化RNA免疫共沉淀(MeRIP-seq/m6A-seq)测序技术原理 表观转录组指RNA序列不发生改变的情况下&#xff0c;由RNA上的化学修饰调节基因…

Autosar UDS-CAN诊断开发02-1(CAN诊断帧格式类型详解、CANFD诊断帧格式类型详解、15765-2(CANTP层)的意义)

目录 前言 CANTP层&#xff08;15765-2协议&#xff09;存在的意义 CANTP层&#xff08;15765-2协议&#xff09;帧类型详细解读&#xff08;普通CAN格式&#xff09; 四种诊断报文类型 单帧SingleFrame(SF) 首帧&#xff1a;FirstFrame(FF) 流控帧&#xff1a;FlowCont…