准备
本人在校大三学生通同学介绍的方式了解到“飞天加速计划·高校学生在家实践”活动,很感谢有一个这么好的学习机会,我在此写一些我的学习笔记,和社区的同学们一起学习交流。
XShell7 相关
下载一个XShell7,百度一下有教程
阿里云服务器
新用户或者学生可以使用免费的阿里云服务器
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5heoEYYT-1653121073033)(https://gitee.com/key2136/typora/raw/master/img/image-20220513221220117.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5heoEYYT-1653121073033)(https://gitee.com/key2136/typora/raw/master/img/image-20220513221220117.png)]](https://ucc.alicdn.com/images/user-upload-01/1397a53e02514ebb9776f7c95b083bc4.png?x-oss-process=image/resize,w_1400/format,webp)
在这里找到自己的实例,然后安全组增加自己的端口号,操作如下:
左侧边栏-->安全组-->配置规则-->快速添加
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-52bHJRJA-1653121073034)(https://gitee.com/key2136/typora/raw/master/img/image-20220513221621404.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-52bHJRJA-1653121073034)(https://gitee.com/key2136/typora/raw/master/img/image-20220513221621404.png)]](https://ucc.alicdn.com/images/user-upload-01/04881329c77b49bc98bdfe4a40efd297.png?x-oss-process=image/resize,w_1400/format,webp)
把自己需要的添加上
连接
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TbhyMCyn-1653121073035)(https://gitee.com/key2136/typora/raw/master/img/image-20220513220746214.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TbhyMCyn-1653121073035)(https://gitee.com/key2136/typora/raw/master/img/image-20220513220746214.png)]](https://ucc.alicdn.com/images/user-upload-01/8780c769a23f49fd8b81be616be60b2f.png?x-oss-process=image/resize,w_1400/format,webp)
主机:填写自己阿里云的ip 或者 主机名
输入密码

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YJ480RCd-1653121073036)(https://gitee.com/key2136/typora/raw/master/img/image-20220513221920182.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YJ480RCd-1653121073036)(https://gitee.com/key2136/typora/raw/master/img/image-20220513221920182.png)]](https://ucc.alicdn.com/images/user-upload-01/623be7c7a79344b49a5e989cd631815a.png?x-oss-process=image/resize,w_1400/format,webp)
接收并保存
一般都会连接成功
linux环境搭建
安装docker
docker官网:https://hub.docker.com/
#卸载系统之前的docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# sudo 是普通用户使用root的权限,若为root用户,不必加sudo
sudo yum install -y yum-utils
# 配置镜像 国内镜像 速度快
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
# 启动docker
sudo systemctl start docker
# 设置开机自启动
sudo systemctl enable docker
#查看版本
docker -v
# 查看是否启动
sudo docker images
# 配置镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://chqac97z.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
安装mysql-docker
docker官网:https://hub.docker.com/ 搜索mysql
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6v8UAdfY-1653121073037)(https://gitee.com/key2136/typora/raw/master/img/image-20220513223605898.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6v8UAdfY-1653121073037)(https://gitee.com/key2136/typora/raw/master/img/image-20220513223605898.png)]](https://ucc.alicdn.com/images/user-upload-01/87680bf9db2f4e5db7e03fa0490f07c2.png?x-oss-process=image/resize,w_1400/format,webp)
docker pull mysql:5.7
# --name指定容器名字 -v目录挂载 -p指定端口映射 -e设置mysql参数 -d后台运行
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
挂载:这里的将docker容器的mysql的log、data、conf文件在linux里创建一个"快捷方式且同步修改"
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TEGMOXCD-1653121073037)(https://gitee.com/key2136/typora/raw/master/img/image-20220513223832566.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TEGMOXCD-1653121073037)(https://gitee.com/key2136/typora/raw/master/img/image-20220513223832566.png)]](https://ucc.alicdn.com/images/user-upload-01/e243971e74ab41ab894560eda357a457.png?x-oss-process=image/resize,w_1400/format,webp)
这里是ID、版本、命令、创建的时间、状态、端口号映射、名字
接下来就可以用Navicat等工具去测试连接
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PEy2ddj1-1653121073038)(https://gitee.com/key2136/typora/raw/master/img/image-20220513224931261.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PEy2ddj1-1653121073038)(https://gitee.com/key2136/typora/raw/master/img/image-20220513224931261.png)]](https://ucc.alicdn.com/images/user-upload-01/94eae58b25124daba1b08571c1f37688.png?x-oss-process=image/resize,w_1400/format,webp)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-arHnlpKW-1653121073040)(https://gitee.com/key2136/typora/raw/master/img/image-20220513225029090.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-arHnlpKW-1653121073040)(https://gitee.com/key2136/typora/raw/master/img/image-20220513225029090.png)]](https://ucc.alicdn.com/images/user-upload-01/25c5cd206e6c4850bfd5534453f5b4f2.png?x-oss-process=image/resize,w_1400/format,webp)
linux的3306对应docker容器的3306,name也是mysql
# 进入已启动的容器 这里用name:mysql或者id:c34(前3位就行,能锁定唯一id就行)
docker exec -it mysql bin/bash
# 退出进入的容器
exit;
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-squWKQDN-1653121073041)(https://gitee.com/key2136/typora/raw/master/img/image-20220513225646193.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-squWKQDN-1653121073041)(https://gitee.com/key2136/typora/raw/master/img/image-20220513225646193.png)]](https://ucc.alicdn.com/images/user-upload-01/27730e0c912b47b0b0b0f81303a0384e.png?x-oss-process=image/resize,w_1400/format,webp)
mysql容器,查看目录,我们知道docker容器相当与一个小的linux系统
# 因为有目录映射,所以我们可以直接在镜像外执行(挂载)
vi /mydata/mysql/conf/my.conf
#以下是配置文件,直接粘贴过去
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
# 重启
docker restart mysql
i:编辑 Esc + :wq:保存 退出
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CoPMFAxP-1653121073043)(https://gitee.com/key2136/typora/raw/master/img/image-20220514105118811.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CoPMFAxP-1653121073043)(https://gitee.com/key2136/typora/raw/master/img/image-20220514105118811.png)]](https://ucc.alicdn.com/images/user-upload-01/6b2eb955685b4662bb348b23b1dd375f.png?x-oss-process=image/resize,w_1400/format,webp)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ipAv8Nz9-1653121073044)(https://gitee.com/key2136/typora/raw/master/img/image-20220514105343977.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ipAv8Nz9-1653121073044)(https://gitee.com/key2136/typora/raw/master/img/image-20220514105343977.png)]](https://ucc.alicdn.com/images/user-upload-01/dfcba1e714ff4f3f9c76eac87795dcea.png?x-oss-process=image/resize,w_1400/format,webp)
注意我的是my.conf , 本质都一样,但名字不同
安装redis-docker
如果直接挂载的话docker会以为挂载的是一个目录,所以我们先创建一个文件然后再挂载,在虚拟机中。
# 在虚拟机中
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
# 这样写默认下载最新
docker pull redis
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
# 直接进去redis客户端。检查是否成功
docker exec -it redis redis-cli
# 退出来
exit
默认是不持久化的。在配置文件中输入appendonly yes,就可以aof持久化了。修改完docker restart redis,docker -it redis redis-cli
vim /mydata/redis/conf/redis.conf
# 插入下面内容
appendonly yes
docker restart redis
设置redis容器在docker启动的时候启动
docker update redis --restart=always
在RedisDesktopManager上测试连接
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BQAmnmR7-1653121073045)(https://gitee.com/key2136/typora/raw/master/img/image-20220514111955088.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BQAmnmR7-1653121073045)(https://gitee.com/key2136/typora/raw/master/img/image-20220514111955088.png)]](https://ucc.alicdn.com/images/user-upload-01/252757fb919c49a0a113e400c6daebf5.png?x-oss-process=image/resize,w_1400/format,webp)
官方的配置的介绍:https://raw.githubusercontent.com/redis/redis/6.2/redis.conf
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wCRFG7sZ-1653121073047)(https://gitee.com/key2136/typora/raw/master/img/image-20220514113105225.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wCRFG7sZ-1653121073047)(https://gitee.com/key2136/typora/raw/master/img/image-20220514113105225.png)]](https://ucc.alicdn.com/images/user-upload-01/7c56e983880b4e47b5b4c731799b8279.png?x-oss-process=image/resize,w_1400/format,webp)
安装nginx docker
docker pull nginx:1.10
# 随便启动一个nginx实例,只是为了复制出配置,放到docker里作为镜像的统一配置
docker run -p 80:80 --name nginx -d nginx:1.10
# 把nginx里的东西复制出来
cd /mydata/nginx
docker container cp nginx:/etc/nginx .
然后在外部 /mydata/nginx/nginx 有了一堆文件
mv /mydata/nginx/nginx /mydata/nginx/conf
# 停掉nginx
docker stop nginx
docker rm nginx
# 创建新的nginx,使用刚才复制出来的配置文件
docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.10
# 注意一下这个路径映射到了/usr/share/nginx/html,我们在nginx配置文件中是写/usr/share/nginx/html,不是写/mydata/nginx/html
docker update nginx --restart=always
测试
cd /mydata/nginx/html/
vim index.html
随便写写
测试 http://192.168.56.10:80
先记录到这
结语
立足当下,展望未来。