Linux环境的基本配置
一、 网络配置
1、 进入配置文件目录
cd /etc/sysconfig/network-scripts/ vi ifcfg-ens33 |
2、 修改文件内容
ONBOOT=yes |
3、 重启网络服务
service network restart |
二、 防火墙设置
//查看防火墙状态 systemctl status firewalld //关闭防火墙 systemctl stop firewalld //永久关闭防火墙 systemctl disable firewalld //重新启动防火墙 systemctl enable firewalld |
三、 配置虚拟网卡的IP地址
尽量和本机的IP地址前三段保持一致
四、 安装Docker
Docker的网站:Docker hub(里面包含各种软件的镜像)
Docker ce免费的社区版
Docker ee收费的企业版
注意:docker的每一个容器其实就是一个小型完整的linux系统(包含完整的linux环境)
1、 安装前的准备
(1)、安装常用软件(让下载的速度更快)
//安装迅雷 yum -y install weget //安装vim yum -y install vim* |
(2)、更新yum源为阿里云
// 1. 备份:(把老的yum源备份,防止出错) mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
// 2. 下载新的CentOS-Base.repo 到/etc/yum.repos.d/(CentOS7)
|
2、 安装步骤
Docker的官方文档地址:
https://www.docker.com/products/docker-engine
官方安装文档:
https://docs.docker.com/install/linux/docker-ce/centos/
检查内核版本,返回的值大于3.10即可
uname -r |
如果内核版本过低,需要更新系统
yum update |
- 卸载老的Docker(如果第一次安装则不需要)
$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine |
- 安装docker必需的包(需要联网)
//下载包管理器(安装依赖的包) $ sudo yum install -y yum-utils (device-mapper-persistent-data 1vm2 ) //告诉包管理器docker的地址在哪(已经安装docker的不需要安装) //告诉linux docker在哪里安装 $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo |
- 查看docker的版本
$ yum list docker-ce --showduplicates | sort -r |
- 安装选中的docker版本(选择带centos,下载速度很慢)
yum -y install docker-ce-上面复制的版本 |
- 如果下载太慢可以把它更换为阿里云的下载地址
Ctrl c 中断更新进程
如果在这一步,改变yum源,则需要重新告诉包管理器docker的地址在哪
- 启动Docker
sudo systemctl start docker |
- 查看Docker的版本
docker -v |
- 设置开机自启动
sudo systemctl enable docker |
- 查看用docker要下载的软件的所有版本
docker search 软件名 |
- 查看当前Docker中有没有下载镜像
sudo docker images |
- 删除容器
docker rm 容器id |
- 删除镜像
docker rmi 镜像id |
- 设置软件开机自启动(如:mysql、redis等)
docker update mysql --restart-always |
- 配置阿里云镜像加速
(1) 登录阿里云账号- >控制台- >左侧菜单- >产品与服务- >容器镜像服务- >CentOS
(2)
五、 Docker安装MySQL
- docker pull mysql:下载的是最新的MySQL
- docker pull mysql:5.7 :下载指定版本的MySQL
- sudo docker pull mysql:5.7 :以管理员身份下载MySQL
- sudo docker images :检查docker中下载的镜像
- 创建实例并启动
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
说明:--name mysql:为容器起名为mysql -v :全是目录挂载 -v /mydata/mysql/log:/var/log/mysql \: 是把容器的/var/log/mysql目录挂载到linux系统的/mydata/mysql/log目录下
注意:下载8.0以上版本的镜像无法启动(目前没有解决)
|
- 直接启动mysql容器?
- 添加容器后无法启动
问题:
CentOS7及以上版本中的安全模块selinux把权限禁掉了,无法使用-v命令进行挂载
解决方法:添加selinux规则,将要挂载的目录添加到白名单
chcon -Rt svirt_sandbox_file_t /mydata/mysql/log chcon -Rt svirt_sandbox_file_t /mydata/mysql/data chcon -Rt svirt_sandbox_file_t /mydata/mysql/conf |
- 查看所有正在运行的容器
docker ps |
- 查看所有的容器
docker ps -a |
- 进入mysql容器内部(每个容器的内部都有完整的环境)
docker exec -it mysql/id值 /bin/bash |
- 检查与MySQL相关的文件夹(需进入mysql容器内部使用该命令)
whereis mysql |
- 退出容器
exit |
- 在linux主机添加mysql配置文件
//进入到配置文件(实际上没有,直接创建) vi /mydata/mysql/conf/my.cnf
//配置内容(主要是修改mysql的字符编码,因为mysql默认是拉丁的编码) [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 restart mysql |
- 进入mysql内部(查看有没有映射到mysql容器内部的配置文件)
// /bin/bash: 是进入控制台 docker exec -it mysql /bin/bash |
- 查看是否修改
cat /etc/mysql/my.cnf |
六、 Docker安装Redis
- 下载镜像文件
docke pull redis :下载最新版本
docker pull redis:版本号 :下载指定版本
- 创建实例并启动
mkdir -p /mydata/redis/conf touch /mydata/redis/conf/redis.conf (创建redis.conf配置文件)
//把docker容器中的端口号映射到linux虚拟机的端口号6379 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
注意:上面的代码没问题但是无法运行,所以尽量把代码用其他的编辑器
说明: -d redis redis-server /etc/redis/redis.conf :含义是redis启动时候以/etc/redis/redis.conf为启动文件(redis挂载到linux主机中没有该文件,需要事先创建) |
- 检查是否安装成功
docker ps |
- 测试redis
docker exec -it redis redis-cli |
退出redis客户端 :exit
- 重启redis(无法获取到a和b的值了,因为数据存在内存中,重启后清空)
docker restart redis |
- 持久化redis
由于redis默认是不持久化的,所有数据存在缓存中。(感觉将的不对,默认是rdb 方式,也是持久化的一种)
持久化:
然后在配置文件中添加:
appendonly yes |
- 重启redis
docker restart redis |
- 在进行和上面的一样测试,看看有没有持久化
- 安装redis的可视化界面(redis desktop manager)
七、 开发环境的配置
1、 安装jdk
2、 安装Tomcat(如果打包成jar包是不需要配置的,springboot中自 带,但是如果打包成war包,则需要在服务器上安装配置Tomcat, 所以需要事先在pom文件中配置打包的形式)
3、 安装maven
(1)、Window下安装mave:
(2)、 linux下安装maven
4、 安装nginx
5、 安装git
6、 安装配置中心/注册中心nacos