1.更换源文件生成新缓存
(1)第一种方法可以install下载文件的
#下载wget
sudo yum install wget
# 备份当前的 yum 配置
sudo cp -ar /etc/yum.repos.d /etc/yum.repos.d.bak
# 删除原有的 repos 文件
sudo rm -f /etc/yum.repos.d/*.repo
# 下载阿里云的 CentOS YUM 源配置
# 根据你的 CentOS 版本选择下面的命令执行
# CentOS 7
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# CentOS 8
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
# 清除缓存并生成新的缓存
sudo yum clean all
sudo yum makecache fast
(2)第二种方法不可以install下载文件的 备份并且插入新的阿里源
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
sudo tee /etc/yum.repos.d/CentOS-Base.repo <<-'EOF'
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
EOF
2.为了避免操作都是root做的要新建日常使用的用户
adduser <username>
passwd <username>
# 给与新建用户root权限
usermod -aG wheel <username>
su - <username> #切换用户
#检测权限是否赋予
sudo ls /root #使用sudo查看root权限下面的文件有文件则权限赋予成功
#安装 Fail2Ban(可选:防止暴力破解)
yum install epel-release -y
yum install fail2ban -y
# 启动并启用 fail2ban
systemctl start fail2ban
systemctl enable fail2ban
#安装日常使用软件
yum install -y vim nano wget curl git unzip htop
#CPU、内存、磁盘
htop
#磁盘使用情况
df -h
#内存使用
free -m
#备份 SSH 配置文件和重要数据
#确保在调整 SSH 等关键配置前备份文件
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
3.下载python3后与系统自带python共存
yum install python3
whereis /* python3 #查询系统python3有关的文件
whereis/* python #查询系统python有关的文件
sudo ln -sf <系统文件夹> <想绑定的新文件夹>
4.安装docker-ce 和 docker-compose
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务和系统自动启动
systemctl enable docker && systemctl start docker
# Step 5 :开启阿里云加速
/etc/docker/daemon.json # vim进入添加没有就新增
{
"registry-mirrors": ["https://1o3kv4j3.mirror.aliyuncs.com"](阿里云容器站生成)
}
# Step 6:重启docker让配置生效
systemctl daemon-reload && systemctl restart docker
# Step 7: 添加rpel7阿里源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# Step 8:强制刷新源的缓存下载安装docker-compose
yum makecache fast
yum install docker-compose -y
注意:其他注意事项在下面的注释中
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,你可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
# 将 [docker-ce-test] 下方的 enabled=0 修改为 enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# Available Packages
# Step2 : 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
# 注意:在某些版本之后,docker-ce安装出现了其他依赖包,如果安装失败的话请关注错误信息。例如 docker-ce 17.03 之后,需要先安装 docker-ce-selinux。
# yum list docker-ce-selinux- --showduplicates | sort -r
# sudo yum -y install docker-ce-selinux-[VERSION]
# 通过经典网络、VPC网络内网安装时,用以下命令替换Step 2中的命令
# 经典网络:
# sudo yum-config-manager --add-repo http://mirrors.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
# VPC网络:
# sudo yum-config-manager --add-repo http://mirrors.could.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
5.docker安装nginx mysql redis
#安装如果需要nginx 里面的配置现单独安装ngxin然后把配置文件copy出来在删除容器映射到刚复制出来的文件
#默认拉取镜像源当前最新版本
docker pull nginx
#启动nginx
docker start nginx
#查看docker容器 nginx启动后的名字和id
docker ps
#开始从配置docker容器里面复制文件到宿主机中
#1.现在宿主机里面添加文件夹和文件
mkdir -p /home/cmcc/nginx/conf/nginx.conf
mkdir -p /home/cmcc//nginx/conf/conf.d
mkdir -p /home/cmcc/nginx/log
mkdir -p /home/cmcc/nginx/html
mkdir -p /home/cmcc/nginx/ssl #不需要443端口可以忽略
#2.把宿主机里面的配置拷贝出来
docker cp nginx /etc/nginx/nginx.conf /home/cmcc/nginx/conf/nginx.conf
docker cp nginx /etc/nginx/conf.d /home/cmcc//nginx/conf/conf.d
docker cp nginx /var/log/nginx /home/cmcc/nginx/log
docker cp nginx /usr/share/nginx/html /home/cmcc/nginx/html
docker cp nginx /etc/nginx/ssl /home/cmcc/nginx/ssl
#删除docker里面的nginx容器
docker stop nginx
docker rm nginx
mysql redis 和以上操作一样
新建一个文件文件夹下面放docker-compose.yaml
version: '3'
services:
mysql:
image: mysql
restart: always
ports:
- 13306:3306 #暴露的端口 宿主机:容器
networks:
- tools-ms
privileged: true
container_name: mysql #容器的名称
environment:
- "MYSQL_ROOT_PASSWORD=password" #输入需要的密码
- "MYSQL_DATABASE=halo" #新建数据库表
- "TZ=Asia/Shanghai" #设置失去
command:
--default-time-zone='+8:00'
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4 #设置数据库字节的编码格式
--collation-server=utf8mb4_general_ci #设置数据库的编码格式
--max_connections=1000 #最大连接数据设置
--innodb_lock_wait_timeout=500 #设置访问500ms
volumes: #进行文件的映射
- /etc/localtime:/etc/localtime:ro
- /home/cmcc/mysql/data:/var/lib/mysql/
- /home/cmcc/mysql/logs:/var/log/mysql/
- /home/cmcc/mysql/conf/conf.d:/etc/mysql/conf.d/
- /home/cmcc/mysql/conf/my.cnf:/etc/mysql/my.cnf
- /home/cmcc/mysql/mysqlBackup:/var/lib/mysqlBackup
redis:
image: redis
restart: always
ports:
- 16379:6379
networks:
- tools-ms
privileged: true
environment:
- "TZ=Asia/Shanghai"
container_name: redis
volumes:
- /home/cmcc/redis/data:/data
command: redis-server --requirepass password --appendonly yes #设置需要的密码
nginx:
image: nginx
restart: always
container_name: nginx
privileged: true
restart: always
networks:
- tools-ms
ports:
- 80:80
- 443:443
volumes:
- /home/cmcc/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- /home/cmcc//nginx/conf/conf.d:/etc/nginx/conf.d
- /home/cmcc/nginx/log:/var/log/nginx
- /home/cmcc/nginx/html:/usr/share/nginx/html
- /home/cmcc/nginx/ssl:/etc/nginx/ssl
networks:
tools-ms:
driver: bridge
(未完待续)