CentOS7安装及后续
前言
经常重装CentOS7,又经常记不住配置步骤,简单记录下,避免太盲目。
VM安装配置CentOS7
参考:
https://blog.csdn.net/babyxue/article/details/80970526
配置连接(外网、主机/虚拟机互通)
使用桥接模式,参考:
https://www.cnblogs.com/DJOSIMON/p/14927176.html
centos7 linux发行版本 相关操作
版本查看
# 1、查看CentOS镜像版本
[root@c7 dev]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
# ...
配置国内源
- 备份
cd /etc/yum.repos.d/ && mkdir repo_bak && cp *.repo repo_bak
- 获取阿里开源镜像
wget http://mirrors.aliyun.com/repo/Centos-7.repo
- 清除系统yum缓存,生成新缓存
yum clean all && yum makecache
- 安装epel源
yum list | grep epel-release
yum install -y epel-release
- 获取阿里的epel源
wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
- 再次清除系统yum缓存,生成新缓存
yum clean all && yum makecache
- 查看可用yum源和所有源
yum repolist enabled
yum repolist all
- 更新
yum update
- yum常用命令
yum常用命令
删除软件:yum remove AAA-x.x.x.rpm或者yum erase foo-x.x.x.rpm
升级软件:yum upgrade AAA或者yum update AAA
查询信息:yum info AAA
搜索软件(以包含foo字段为例):yum search AAA
显示软件包依赖关系:yum deplist AAA
-q 静默执行
-t 忽略错误
-R[分钟] 设置等待时间
-y 自动应答yes
--skip-broken 忽略依赖问题
--nogpgcheck 忽略GPG验证
check-update 检查可更新的包
clean all 清除全部[缓存]
clean packages 清除临时包文件(/var/cache/yum 下文件)
clean headers 清除rpm头文件
clean oldheaders 清除旧的rpm头文件
deplist 列出包的依赖
list 可安装和可更新的RPM包
list installed 已安装的包
list extras 已安装且不在资源库的包
info 可安装和可更新的RPM包 信息
info installed 已安装包的信息(-qa 参数相似)
install[RPM包] 安装包
localinstall 安装本地的 RPM包
update[RPM包] 更新包
upgrade 升级系统
search[关键词] 搜索包
provides[关键词] 搜索特定包文件名
reinstall[RPM包] 重新安装包
repolist 显示资源库的配置
resolvedep 指定依赖
remove[RPM包] 卸载包
makecache 生成缓存
防火墙
- 状态
systemctl status firewalld.service
- 关闭
systemctl stop firewalld.service
- 永久关闭
systemctl disable firewalld.service
客户端工具
- MobaXterm
安装zookeeper(单机、集群)
安装Docker
- 安装Docker
备注:-y 表示不询问 使用默认配置进行安装,等待提示 完毕!
yum install -y docker
- 查看是否安装成功
备注:命令为 查看yum安装完成文件列表 并 筛选docker安装信息 如下
docker.x86_64 2:1.13.1-209.git7d71120.el7.centos
docker-client.x86_64 2:1.13.1-209.git7d71120.el7.centos
docker-common.x86_64 2:1.13.1-209.git7d71120.el7.centos
yum list installed | grep docker
-
启动docker服务
systemctl start docker
-
查看是否启动成功
systemctl status docker
-
查看docker版本、信息
docker -v
docker info
-
修改镜像文件拉取地址
官方地址为国外地址安装缓慢可进行配置
{
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
]
}
vim /etc/docker/daemon.json
- 重启docker
systemctl restart docker
- Docker搜索镜像
docker search <镜像名称>
Docker部署MySQL
- 拉取MySQL镜像
备注:docker pull 默认到官方参考拉取(已经通过配置源解决速度问题) mysql:8.0 镜像名:镜像tag
docker pull mysql:8.0
-
查看镜像安装情况
docker images
-
启动docker中镜像
备注:
--name 服务启动别名设置
-p 端口映射 宿主机端口:镜像运行端口
-e 设置root帐号密码
-d 镜像名:tag 使用守护进程模式启动
docker run --name mysql8.0 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0
- 查看运行的镜像
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7f0079ac6e6c mysql:8.0 "docker-entrypoint..." 32 minutes ago Up 32 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysql8.0
docker ps -a
- 进入容器
备注:
exec docker进入容器命令
-it 容器中服务别名
/bin/bash 表示命令行模式(与 -d 后台守护进行模式启动 形成两种运行方式)
docker exec -it mysql8.0 /bin/bash
-
运行MySQL
cd /usr/bin
mysql -u root -p
-
设置容器自启动
适用于容器已经被创建,我们想要修改容器的重启策略
docker update --restart=always mysql8.0
Docker部署Redis
- 拉取最新redis
docker pull redis
- 创建宿主机挂载目录(将redis 的配置文件进行挂载)
挂载:即将宿主的文件和容器内部目录相关联,相互绑定,在宿主机内修改文件的话也随之修改容器内部文件
以配置文件方式启动 redis 容器
-p:递归创建多级目录
以下命令,是不存在就直接创建 conf、data 文件夹
mkdir -p /home/dj/tmp/redis/conf && mkdir -p /home/dj/tmp/redis/data
- 通过网络下载配置文件
-O:定义本地文件名
wget -O redis.conf http://download.redis.io/redis-stable/redis.conf
- 修改配置
# Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
daemonize no
# 指定Redis监听端口,默认端口为6379
port 6379
# 绑定的主机地址,不要绑定容器的本地127.0.0.1地址,因为这样就无法在容器外部访问
bind 0.0.0.0
# 默认yes,如果设置为yes,则只允许在本机的回环连接,其他机器无法连接。
protected-mode no
# 需要密码则打开
requirepass 123456
# 持久化
appendonly yes
- 启动redis容器
1、–name:给这个容器取一个名字;
2、--privileged=true:开启了权限需要加此参数,不然会拒绝访问;
3、–restart=always:总是开机启动;
4、-p 16379:6379:将6379端口挂载出去为16379;
5、-v:数据卷挂载;
6、/home/dj/dev/redis/conf/redis.conf:/etc/redis/redis.conf:这里是将liunx路径下的redis.conf和redis下的redis.conf挂载在一起;
7、/home/redis/myredis/data:/data:这个同上;
8、-d redis:表示后台启动redis;
9、redis-server /etc/redis/redis.conf:以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/etc/redis/redis.conf也就是liunx下的/home/dj/dev/redis/conf/redis.conf。
docker run \
--name redis \
--privileged=true \
--restart=always \
-p 16379:6379 \
-v /home/dj/dev/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /home/dj/dev/redis/data:/data \
-d redis \
redis-server /etc/redis/redis.conf
- 查看启动状态
docker ps -a | grep redis
- 查看容器运行日志
--since 30m:查看此容器30分钟之内的日志情况。
docker logs --since 30m redis
- 进入容器
docker exec -it redis /bin/bash
再redis-cli
或者直接这样写 docker exec -it redis redis-cli
- 验证密码
config get requirepass
auth 123456
- redis.conf 配置文件
- 删除redis容器
先将容器停止运行
docker stop redis
再删除容器
docker rm redis
最后删除镜像
docker rmi redis
Docker部署Tomcat
-
拉取镜像
docker pull tomcat
-
查看拉取的latest镜像的具体版本
docker image inspect redis:latest | grep -i version
-
运行Tomcat容器
若端口被占用,可以指定容器和主机的映射端口,前者是外围访问(宿主机)端口,后者是容器内部端口。
--privileged=true:
1、使用该参数,container内的root拥有真正的root权限;
2、否则,container内的root只是外部的一个普通用户权限;
3、privileged启动的容器,可以看到很多host上的设备,并且可以执行mount;
4、甚至允许你在docker容器中启动docker容器。
https://blog.csdn.net/wangxuelei036/article/details/107457712
-v /home/dj/dev/tomcat/test:/usr/local/tomcat/webapps/test:宿主机与容器内部目录挂载
docker run \
--name tomcat \
--privileged=true \
-p 18080:8080 \
-v /home/dj/dev/tomcat/test:/usr/local/tomcat/webapps/test \
-d tomcat
- 访问IP:18080
可能提示404,通过
docker cp tomcat:/usr/local/tomcat/bin ./
可以把bin拷出来,方便排错,其实原因在于容器内部的webapps目录下,只有一个挂载的test目录,再无其他,当然访问报错;
解决思路:
1、可docker exec -it tomcat /bin/bash
进入容器内部,
cd /usr/local/tomcat/
切换到tomcat目录下,
可以肯定的是,webapps下仅有一个test(这个还是我们手动挂载的,不然一个也没有)目录,
百度说的是将webapps删掉,再将webapps.dist重命名未webapps即可,这个方法可行,
但我们挂载了test(此文件夹正在使用),webapps是删除不了的,
另一个思路就是进入到webapps.dist重命名的目录下执行cp -rp * ../webapps/
将文件拷过去,问题同样得到解决。
这个时候再进行访问IP:18080就没问题了。但另启一个tomcat的时候,又会遇到同样的问题,更换
tomcat 8.0.52
版本镜像可以彻底解决这一问题。
部署web引用
https://blog.csdn.net/qq_32351227/article/details/78673591?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-4-78673591-blog-123689108.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-4-78673591-blog-123689108.pc_relevant_3mothn_strategy_recovery&utm_relevant_index=9
https://blog.csdn.net/qq_43698078/article/details/125762086
https://blog.csdn.net/weixin_31569671/article/details/116877267