环境的搭建
安装虚拟机
- 安装vagrant(可以用来直接下载虚拟机镜像) 链接:点我去官网
- 安装virtualbox(vagrant默认会将虚拟机安装在virtualbox中)
- 任意新建一个目录用于保存虚拟机
- 以管理身份启动cmd窗口(否则权限不够),进入上一步创建的目录中
- 进入下载虚拟机镜像的网站 链接:Discover Vagrant Boxes
- 记住要下载的镜像文件的名字(也可以直接下载box文件,然后使用以下命令)
vagrant box add ‘自己取名’ ‘下载下来的box文件名’
链接:vargrant命令文档
7. 在cmd窗口中输入vagrant init centos/7,会在目录下生成一个Vagrantfile是用来配置生成的虚拟机的(我之前已经执行过此命令)。
8. 执行vagrant up(会自动下载并且开启虚拟机)。
如果下载的virtualbox的版本和vagrant的版本不兼容的话则会默认安装虚拟机到hyper中,如果hyper没有开启的话则会报错(如下图),此时可以使用命令
vagrant up --provider=virtulbox
强制使用virtualbox安装,此时会提示virtualbox版本不兼容(因为我virtualbox使用的是6.1的)
9. 执行vagrant ssh(连接虚拟机,默认的账号和密码为:vagrant,root账号密码也为vagrant)。
10. 配置虚拟机的网络设置(可以直接在创建虚拟机的文件中配置–Vagrantfile),与virtualbox的网段一样。
vagrant reload(重新读取配置文件启动)
- 使用xshell连接虚拟机
安装软件
安装docker
- 卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
- 安装yum-utils软件包(提供yum-config-manager 实用程序)并设置稳定的存储库。
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
- 安装最新版本的Docker Engine和容器,
sudo yum install docker-ce docker-ce-cli containerd.io
- 启动Docker。
sudo systemctl start docker
- 通过运行hello-world 映像来验证是否正确安装了Docker Engine 。
sudo docker run hello-world
- 设置阿里云镜像加速器
阿里云镜像加速器
- 设置docker自启动
sudo systemctl enable docker
安装MySQL
- 安装MySQL
sudo docker pull mysql:5.7
# --name指定容器名字 -v目录挂载 -p指定端口映射 -e设置mysql参数 -d后台运行
sudo 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 run -itd -p 3306:3306 --name mysql \
-v /mydata/mysql/conf:/etc/mysql\
-v /mydata/mysql/data:/var/lib/mysql \
-v //mydata/mysql/mysql-files:/var/lib/mysql-files/ \
-e MYSQL_ROOT_PASSWORD=majiping mysql
- 配置MySQL
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
开启MySQL远程连接
docker exec -it mysql bash
#查看用户和能连接的主机
mysql -uroot -proot
use mysql;
select user,host from user;
#修改root用户的远程连接主机
UPDATE user SET Host='%' where user='root';
#刷新
flush privileges;
-
重启MySQL
docker restart mysql
-
设置redis容器在docker启动的时候启动
docker update mysql --restart=always
安装Redis
- 先创建目录
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
- 下载镜像
docker pull redis
- 启动redis 并且挂载目录
docker run -p 6379:6379 --restart=always --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
4. 启动Redis客户端
docker exec -it redis redis-cli
- 设置redis容器在docker启动的时候启动
docker update redis --restart=always
- 修改redis配置文件
_默认是不持久化的。在配置文件中输入appendonly yes,就可以aof持久化了。
_
vim /mydata/redis/conf/redis.conf
# 插入下面内容
appendonly yes
# 重启redis
docker restart redis
安装nginx
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 --restart=always --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
gitee相关
# 配置用户名(名字,随意写)
git config --global user.name "username"
# 配置邮箱 // 注册账号时使用的邮箱
git config --global user.email "xxxxxx@qq.com"
# 配置ssh免密登录
ssh-keygen -t rsa -C "xxxxxx@qq.com"
#三次回车后生成了密钥:公钥私钥
cat ~/.ssh/id_rsa.pub
# 测试
ssh -T git@gitee.com
# 测试成功,就可以无密给码云推送仓库了