一、服务器环境搭建(centos7)
1.虚拟机安装centos镜像系统此处省略
2.虚拟机网络设置
打开VMware,选择菜单编辑虚拟机网络编辑器,记录虚拟机网关信息。
选中要安装好的虚拟机,右键-设置,设置其网络适配器为NAT模式。
设置完成打开虚拟机,使用root账户登录,登录后打开终端,切换到网络配置目录
cd /etc/sysconfig/network-scripts
使用vi命令修改配置文件,使用以下代码替换配置文件,修改服务器为静态ip,方便访问。
YPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
UUID=6e71b026-fc1b-4776-ac94-2fe42afa57e4
DEVICE=ens32
ONBOOT=yes
IPV6_PRIVACY=no
#IP地址
IPADDR=192.168.126.108 //自己设置不冲突且与网络编辑器保持一致即可
PREFIX=24
#子网掩码
NETMASK=255.255.255.0
#网关
GATEWAY=192.168.126.2
#DNS
DNS1=8.8.8.8
DNS2=8.8.4.4
设置完成后保存退出,并且重启网卡。
service network restart //重启网卡命令
没有报错则配置没有问题,重启成功,使用ping命令测试与主机的连通性。
正常则说明服务器连接主机完成,只要主机能连接外网,则服务器也可以连通外网,从而在后续可以在线获取软件并安装,这时服务器端没有问题测试主机与服务器连通,方便使用软件远程连接服务器。
如果电脑ping 不同虚拟机,则进行一下修改,选择电脑右下角网络(连无线网的地方)右键打开网络设置,更改适配器与虚拟机在同一网段。
打开网络适配器,选择Vmnet8,点击属性修改ipv4信息,从自动获取改为手动,并输入值,点击确定。
修改完成后,在次测试与虚拟机连通性。
测试成功,虚拟机网络配置到此结束。
3.虚拟机服务器软件安装
1.安装docker
1.1 docker的简单介绍
简单的说,docker是一种虚拟化容器技术,基于网上已经存在的软件镜像,可以秒级的启动各种容器。每一种容器都是一个完整的运行环境,每一个容器就相当于一个软件,且每个容器之间相互隔离、互不影响。如果我们想要安装软件,只需要安装docker,它就会去软件镜像市场帮我们去下载。
1.2 docker安装步骤
查看docker官网,在导航栏选择Developers-Docs进入安装文档,查看我们对应的版本,注意docker有两个版本,Docker Engine-Community社区版和Docker Enterprise企业版,社区版是免费的,所以我们用社区版。
选择linux下安装
选择安装步骤是centos的文档,查看
使用Xshell工具连接服务器,按照文档说明,我们需要先卸载旧的docker,因为我们以前没有安装过docker,所以不会卸载什么,可选择执行。执行以下卸载命令:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
执行完成:
继续按照文档安装,使用命令设置docker的安装地址和安装一些依赖
//安装依赖
yum install -y yum-utils
//设置地址
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
执行完成
docker的前期准备完成,接下来跳过文档的一些可选步骤,之接执行命令来安装docker:
//安装docker
yum install docker-ce docker-ce-cli containerd.io
提示输入一路"y",过程有点慢,稍等安装完成:
安装完成,但是现在docker还没有启动,执行命令启动docker:
//启动docker
systemctl start docker
没有报错,启动成功,使用命令查看
//查看版本
docker -v
//查看已经安装镜像,不是管理员加sudo
docker images
暂时还没有镜像安装,接下来给docker设置开机自启动,默认是不自启动的,每次服务器开启都需要重启,比较麻烦,使用命令开启开机自启动:
//设置docker开机自启动
systemctl enable docker
执行完成
到此docker的整个安装完成。
1.3 docker设置阿里云镜像
默认docker是从docker hup下载镜像,在国内比较慢。因此我们配置阿里云的镜像,加速下载。
首先打开阿里云官网,这里需要登录,登录后点击控制台,在控制台页点击左侧菜单选择容器镜像服务:
首次登录会出现提示:
点击开通,按要求输入密码,进入后,选择镜像加速服务,选择centos执行底下的命令:
//创建文件夹
sudo mkdir -p /etc/docker
//配置加速地址
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://c0ptjn3x.mirror.aliyuncs.com"]
}
EOF
//重启docker的伴随线程
sudo systemctl daemon-reload
//重启docker的服务
sudo systemctl restart docker
执行命令
执行完成,这样docker就有了镜像加速功能。
2.docker安装mysql
2.1利用docker下载mysql镜像
利用docker可以快速的安装软件,首先打开docker的官方仓库,直接搜索mysql:
我们可以看到很多的镜像,第一个就是官方的镜像,我们想安装只需要执行一个命令就可以:
//下载安装mysql命令
docker pull mysql
如果我们不加版本信息的话,会默认安装最新的mysql版本,我们可以在仓库查看版本信息:
如果要指定版本信息,我们可以执行这样的命令:
sudo docker pull mysql:5.7 //以mysql5.7为例
执行命令
下载完成并查看镜像。
2.2 创建实例并启动
下载好了mysql5.7,我们就需要去设置一些参数来启动mysql服务,执行以下命令:
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
参数说明
-p 3306:3306:将容器的3306端口映射到主机的3306端口
-v /mydata/mysql/master/conf:/etc/mysql:将配置文件夹挂在到主机
-v /mydata/mysql/master/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/master/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码
执行完成,看到一串标志,则说明mysql启动成功:
启动成功,mysql安装完成,使用命令查看正在运行的镜像:
docker ps
看到mysql正在运行,到此mysql安装完成。
2.3 修改mysql的配置
默认mysql的编码格式不是utf-8,所以有修改一下,上面我们执行了文件映射,将mysql的配置从容器当中映射到了服务器当中,接下来只需要修改映射目录的文件配置就相当于修改容器内mysql的配置了。切换目录
拷贝配置到新建的my.cnf文件中
[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
注意:skip-name-resolve一定要加,不然连接mysql会超级慢
添加后保存完成,使用命令重启mysql服务:
docker restart mysql-master
启动完成:
可以通过命令进入容器查看配置是否生效:
//进入容器控制台
docker exec -it mysql /bin/bash
//进入mysql配置目录
cd /etc/mysql/
//查看文件内容
cat my.cnf
查看:
至此,mysql安装配置结束。
3.docker安装redis
3.1 下载redis镜像
使用命令下载最新的redis到服务器:
docker pull redis
下载完成。
3.2 创建redis实例并启动
类似于mysql,使用命令对redis做端口映射和配置文件目录映射:
//首先执行
mkdir -p /mydata/redis/conf/
touch /mydata/redis/conf/redis.conf
//在执行命令做映射 不然会将redis.conf当做目录
docker run -p 6379:6379 --name redis
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf
-v /root/redis/data:/data
-d redis redis-server /etc/redis/redis.conf //指定启动文件
一定要先创建文件,然后执行挂载命令,执行完成:
使用命令查看:
docker ps
启动成功,通过命令测试redis客户端是否可以使用:
docker exec -it redis redis-cli
测试连接没有问题。但是现在redis还不能持久化存入数据,所以要进行设置,切换到我们的外部redis配置文件目录,使用vi命令在redis.conf文件插入配置:
appendonly yes
修改配置后重启一下redis
docker restart redis //重启命令
测试一下我们的配置是否生效,使用命令进入redis客户端,存入一条数据 "a = b",然后重启redis,再次获取a的值,能获取到则说明持久化配置成功:
//进入redis客户端
docker exec -it redis redis-cli
//set命令设置值
set a b
//get命令获取值
get a
如果没有配置持久化,那么重启redis服务必然获取不到之前存的值,而我们测试可以获取到"a"的值"b",说明配置生效。到此服务器环境搭建完毕。
4.配置docker启动自启动容器
当我们重新启动服务器的时候发现,使用命令docker ps查看正在运行的容器,我们发现并没有容器正在运行,使用dpcker ps -a查看所有的容器:
可以看到存在容器,但是容器没有运行,接下来我们通过命令配置容器,让docker启动容器伴随着一起启动:
//配置容器自动启动
docker update "容器名" --restart=always
配置完成后重新启动虚拟机,使用命令查看正在运行的容器,发现配置过的容器已经运行状态:
配置容器开机自启动完成。