准备
XShell7 相关
XShell的安装和使用 - 简书 (jianshu.com)
Xshell7 好看的配色教程 - 简书 (jianshu.com)
阿里云服务器
新用户或者学生可以使用免费的阿里云服务器
在这里找到自己的实例,然后安全组增加自己的端口号,操作如下:
左侧边栏–>安全组–>配置规则–>快速添加
把自己需要的添加上
连接
主机:填写自己阿里云的ip 或者 主机名
输入密码
接收并保存
一般都会连接成功
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
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里创建一个"快捷方式且同步修改"
这里是ID、版本、命令、创建的时间、状态、端口号映射、名字
接下来就可以用Navicat等工具去测试连接
linux的3306对应docker容器的3306,name也是mysql
# 进入已启动的容器 这里用name:mysql或者id:c34(前3位就行,能锁定唯一id就行)
docker exec -it mysql bin/bash
# 退出进入的容器
exit;
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:保存 退出
注意我的是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上测试连接
官方的配置的介绍:https://raw.githubusercontent.com/redis/redis/6.2/redis.conf
安装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
先记录到这
文章评论