本地测试环境搭建(二)
版权声明:本文为博主原创文章,未经博主允许不得转载。
工欲善其事,必先利其器
——《论语·卫灵公》
不论是进行项目开发,还是进行多机器的运维、测试,使用合适的工具,都能极大的提高日常开发效率。所以在创建完虚机后,首先需要安装一些实用、方便的工具。
安装工具
lrzsz
lrzsz是一个Linux下类似ftp的用于文件上传、下载的工具,通过lrzsz可以很方便的在本地宿主机与VirtualBox上的虚机直接传输文件。
安装:
yum install lrzsz -y
命令:
- 从本机上传文件:rz
- 从虚机下载文件:sz [文件名]
Vim
Vim在Vi的基础上添加了很多特性,虽然系统默认集成了Vi,但还是推荐安装Vim,并修改配置文件,来对字符集、编码、tab键等进行设置。
安装:
yum install vim -y
配置:
tee ~/.vimrc <<EOF
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
set ts=4
set expandtab
set smartindent
set tabstop=4
set shiftwidth=4
set expandtab
set softtabstop=4
EOF
source ~/.vimrc
Git
Git是一个开源、免费的分布式版本控制系统,可以高速、有效的处理各种规模的项目的版本管理。
安装:
yum install git -y
Ansible
Ansible是一款基于Python开发的自动化运维工具,可以进行配置管理、批量部署等功能。对于机器较多的场景,可以使用Ansible来免去重复敲命令的烦恼。
安装:
yum install ansible -y
使用方法:
- 创建一个工作目录:~/ansible
- 在工作目录中创建一个Inventory文件,即包含各主机信息的文件
- 官方文档
- 各模块文档
- PlayBooks文档
- Inventory文档
Inventory文件说明:
- [cluster]是组的别名,可以通过该组名对其下的所有机器进行控制
- 每一行内容分别是:机器别名、机器IP、ssh访问时使用的用户名、ssh访问时使用的密码
创建Inventory文件:
mkdir ~/ansible
tee ~/ansible/cluster.inv <<EOF
[cluster]
192.168.56.101 ansible_ssh_host=192.168.56.101 ansible_ssh_user=root ansible_ssh_pass=test
192.168.56.102 ansible_ssh_host=192.168.56.102 ansible_ssh_user=root ansible_ssh_pass=test
192.168.56.103 ansible_ssh_host=192.168.56.103 ansible_ssh_user=root ansible_ssh_pass=test
192.168.56.104 ansible_ssh_host=192.168.56.104 ansible_ssh_user=root ansible_ssh_pass=test
EOF
示例:
从创建的Inventory文件(cluster.inv)中获取机器信息,并在Inventory文件中的所有机器上安装docker,并启动
ansible all -i cluster.inv -m yum -a "name=docker"
ansible all -i ~/ansible/cluster.inv -m raw -a "systemctl start docker"
Tips:
如果出现第一次ssh访问出现的输入yes/or的提示,导致中断,可以修改ansible的配置文件:/etc/ansible/ansible.cfg,将默认的host_key_checking = False改为True。
Docker
Docker是用于开发、装载、运行应用的开放平台。通过Docker你可以将你的应用与架构分离。Docker可以帮你更快的装载代码、更快的测试、更快的部署,缩短代码从编写到运行的周期。
安装:
yum install docker -y
启动:
systemctl start docker
安装服务
MySQL
最流行的关系型数据库管理系统之一,开发环境自然得有一个。推荐5.7版本以后的,支持Json,在表结构设计上灵活了很多。并且推荐使用docker以容器的方式启动,如果发生配置不当或使用不当,可以非常方便、迅速的重置环境,并且不会对所在虚机的环境造成影响。
安装:
docker pull mysql:5.7
mkdir /opt/dev/mysql
rm -rf /opt/dev/mysql
docker run --name dev_mysql --restart=always -v /opt/dev/mysql:/var/lib/mysql --privileged=true -e MYSQL_ROOT_PASSWORD=root -p 3307:3306 mysql:5.7
说明:
- mysql版本:5.7
- 容器名:dev_mysql
- 数据目录:/opt/dev/mysql
- Root密码:root
- 端口:3307
- 容器退出后始终重启
- --privileged=true是为了防止因CentOS7中的安全模块selinux的权限限制,导致出现“Permission denied”的错误
注:封面来自于:GRATISOGRAPHY