Loading

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(单机、集群)

参考:kafka_with_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/bashredis-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

posted @ 2021-09-07 23:01  溫柔の風  阅读(99)  评论(0编辑  收藏  举报