引言
事先准备一个静态IP模板虚拟机, 一是能快速克隆一个拥有干净环境的虚拟机
, 新的虚拟机通过简单的配置, 就能使用; 二是静态IP易于管理
, 一般采用连续的IP地址, 如192.168.1.107、192.168.1.108, 第一个可以单独来学redis、第二个又可以单独安装mysql。
下载centos
这里选择安装centos7.8-minimal版本, 阿里云centos7.8地址, 选择iso文件下载即可。
创建静态IP模板机
虚拟机配置
在VMware里新建虚拟机, 选择我们之前下载的镜像即可, 指定虚拟机名称。
这里留意下, 网络类型
的选择, 一般选择桥接/NAT, 这个选择会影响后续模板机静态IP的配置, 这里选择NAT。之后一路下一步即可, 有需要进行内存、处理器、硬盘配置的同学可以自行配置。
新建虚拟机向导完成后, 默认会自动启动虚拟机, 接下来完成centos的初始配置即可
centos初始配置
centos-minimal版本的初始化过程很简单, 我们配置下语言、设置下root用户密码即可, 其他的就一直下一步, 等待一会叫我们重启, 进入输入用户名、密码界面, 就算成功!
获取网络配置基础信息
这个时候, 我们的网络实际上还不可用, 尝试做以下动作, 可以看到Network is unreachable
, 我们虚拟机ip也是错误的。
1 2
| # ping阿里DNS地址 ping 223.5.5.5
|
我们下面进行配置网络.
虚拟机网络类型为NAT
这时候, 回忆之前新建虚拟机时, 我们选择的网络类型是NAT, 而配置模板机IP时, NAT模式需要保证虚拟机网段与VMnet8一致, 照下图配置即可。
那么经过这一步后, 我们得到的信息有如下内容, 这些都是在之后配置虚拟机网络文件时需要的。
1 2 3 4 5 6 7 8
| # 1. 子网地址 192.168.163.0 之后我们配置虚拟机IP时, 就能相对随意的配置为 192.168.163.x 了 # 2. 网关地址 192.168.163.2 , 这个地址在之后配置虚拟机网络文件时需要 # 3. 子网掩码 255.255.255.0 , 它同样在之后配置虚拟机网络文件时需要 # 4. 当前虚拟机硬件地址, 通过 ip addr 命令获得(上图中已经获得) 当前虚拟机硬件地址为 00:0c:29:17:75:9b
|
虚拟机网络类型为桥接模式
网络类型为桥接模式时, 我们获得上面4个内容的方式有所不同, 这时候我们需要保证虚拟机的网段与物理机的网段一致, 而网关地址, 需和物理主机网关相同
我们打开宿主机的命令行, 使用ipconfig
查看信息。
我们依旧能获得4个配置信息, 主要是子网地址
和网关地址
的差距较大。
1 2 3 4 5 6 7 8 9
| # 1. 子网地址 192.168.1.0 之后我们配置虚拟机IP时, 就能相对随意的配置为 192.168.1.x 了 只不过, 这种情况下虚拟机配置IP地址时, 还是尽量`和宿主机IP别配重叠了`! # 2. 网关地址 192.168.1.1 # 3. 子网掩码 255.255.255.0 # 4. 当前虚拟机硬件地址, 通过 ip addr 命令获得(上图中已经获得) 当前虚拟机硬件地址为 00:0c:29:17:75:9b
|
配置模板机网络
1 2 3
| cd /etc/sysconfig/network-scripts # 编辑网络配置文件 vi ifcfg-ens33
|
如下是需要修改的内容
下面还有需要新增的配置, 修改并保存。
1 2 3 4 5
| IPADDR=192.168.163.10 # 这个参考上面不同网络类型的说明, 我这里是 NAT NETMASK=255.255.255.0 # 同上 GATEWAY=192.168.163.2 # 同上 HWADDR=00:0c:29:17:75:9b # 通过 ip addr 命令获得, ens33设备下的物理地址 DNS1=223.5.5.5 # 这里能配置多个DNS服务器地址, 这里我只配了阿里的DNS服务器
|
重启网络服务
从这时候开始, 我们 ping 百度
也能ping通, yum工具也能正常下载工具包了。
模板机ssh环境配置
现在使用xshell等ssh客户端工具, 还无法连接上我们的虚拟机。
我们下载ssh-server包。
1
| yum install -y openssh-server
|
配置ssh
1 2
| cd /etc/ssh/ vim sshd_config
|
暂时打开允许root用户登录即可。
1 2
| # 为了免去每次开启 CentOS 时,都要手动开启 sshd 服务,可以将 sshd 服务添加至自启动列表中,输入 systemctl enable sshd
|
修改完后重启服务, 重启sshd服务:
之后得开放22端口, 或者选择性禁用防火墙。
1 2 3 4 5
| firewall-cmd --zone=public --add-port=22/tcp --permanent # 防火墙开启22端口 firewall-cmd --reload # 必须重启防火墙,否则不生效
# 简单点直接禁用防火墙 systemctl disable firewalld.service
|
确保22端口已经被占用
然后就能远程ssh连接了。
danger 如果出现ssh连接不上虚拟机的问题, 参考下面内容
1 2
| # ping虚拟机出现超时问题 ping 192.168.163.10
|
这是因为情况下虚拟机网络模式为NAT模式的情况下, 虚拟机通过VMnet8与宿主机通信, 但是它们并不处于一个网段下。(网桥模式应该就没这个ping不通的问题)
进行如下配置即可。
配置后在宿主机上就能ping通虚拟机了, ssh连接也没问题了。
primary 在这之后的话, 就能给模板机安装Java、net-tools等环境了, 这个就看个人如何使用了
拷贝模板机
现在如果我们将这个纯净的模板机做一个克隆
, 将克隆后的虚拟机专门用作redis或其他用途, 我们进行如下操作。
启动模板机后, 我们需要做如下操作来配置新的虚拟机的网络
1 2 3
| cd /etc/sysconfig/network-scripts # 编辑网络配置文件 vim ifcfg-ens33
|
重启网络即可
简单测试下, 物理机ping得通新的虚拟机(192.168.163.11)即可咯~
自定义环境配置
这个属于自定义环境
了, 因为自己用这两个环境较多, 直接给模板机配上。
yum源修改
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| # 如果没有wget先安装 yum install -y wget
# 备份本地yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.back
# 获取阿里yum源配置文件(注意版本和当前centos版本对应) wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 更新yum缓存 yum makecache
# 查看当前yum源 yum repolist
|
jdk环境
找个jdk8的linux包上传并配置环境变量就行
1 2 3 4
| # java export JAVA_HOME=/usr/local/java export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar export PATH=$PATH:${JAVA_HOME}/bin
|
1 2 3 4 5
| # minimal-centos缺少glibc库 yum install -y glibc.i686
source /etc/profile java -version
|
docker环境
安装docker
1 2 3 4 5 6 7 8 9 10 11 12
| yum -y install docker-ce
# 如果出现 "错误:没有匹配的软件包可以列出" # 安装yum管理工具 yum install -y yum-utils # yum添加软件源 yum-config-manager \ --add-repo \ https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo # 刷新缓存 yum makecache # 再次安装即可
|
1 2 3 4 5 6
| # 启动Docker服务 systemctl start docker # 设置开机自动启动 systemctl enable docker
docker version
|
开启IPv4转发
1 2 3 4 5
| echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf
# 重启network和docker服务 systemctl restart network systemctl restart docker
|
配置docker镜像地址
进阿里云容器镜像服务 > 镜像加速器, 选择 CentOS 操作文档, 复制脚本执行完即可。
1 2 3 4 5 6 7 8
| sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://这个地址每个账号不同的.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
|
安装docker-compose
下载地址, 下载docker-compose-linux-x86_64放到 /usr/local/sbin/
, 这样就不用再配一遍环境变量配置文件了。
1 2 3 4
| # 设置文件权限 chmod a+x docker-compose-Linux-x86_64 # 移动到/usr/bin目录下,并重命名为docker-compose mv docker-compose-Linux-x86_64 /usr/bin/docker-compose
|
测试安装成功
1 2
| [root@localhost local]# docker-compose version Docker Compose version v2.9.0
|