第一步:清理旧文件 不管以前那个文件被改成了什么样,直接删除它,避免干扰。 在终端执行:
rm -rf /etc/yum.repos.d/CentOS-Base.repo
第二步:写入全新的配置(核心步骤) 我们不依赖下载命令(防止 wget 没有或网络问题),直接用 cat 命令把正确的配置写入文件。 请复制下面从 cat 开始到 EOF 结束的整段代码,粘贴到终端里,按回车执行:
cat > /etc/yum.repos.d/CentOS-Base.repo << 'EOF'
[base]
name=CentOS-7.9.2009 - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/os/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-7.9.2009 - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/updates/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-7.9.2009 - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/extras/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-7
EOF
第三步:清理并生成缓存 执行下面两行命令:
yum clean all
yum makecache
第四步:验证 如果第三步最后显示 Metadata Cache Created,说明成功了。 现在你可以尝试更新
yum update
docker 镜像同步
镜像站 渡渡鸟镜像同步站
https://docker.aityp.com/
拉取镜像
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/setzero/mysql:5.7.44-linuxarm64
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/setzero/mysql:5.7.44-linuxarm64 docker.io/setzero/mysql:5.7.44
启动php
创建 Nginx 配置文件
cat > /data/web/default.conf <<EOF
server {
listen 80;
server_name localhost;
# 容器内的网站根目录,必须是 /var/www/html
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files \$uri \$uri/ /index.php?\$query_string;
}
# 这里是关键:遇到 .php 结尾的请求,转发给 php 容器
location ~ \.php$ {
# fastcgi_pass 后面填的是 PHP 容器的名字:端口
fastcgi_pass php-container:9000;
fastcgi_index index.php;
# 告诉 PHP 去哪里找文件
fastcgi_param SCRIPT_FILENAME /var/www/html\$fastcgi_script_name;
include fastcgi_params;
}
}
第二步:启动 PHP 容器
docker run -d \
--name php-container \
-v /data/web:/var/www/html \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/php:5.6.40-fpm-alpine
启动 Nginx 容器
docker run -d \
--name nginx-test \
-p 8081:80 \
--link php-container:php-container \
-v /data/web:/var/www/html \
-v /data/web/default.conf:/etc/nginx/conf.d/default.conf \
nginx
1. 创建存放第二个网站的目录
mkdir -p /data/site2
2. 创建一个新的测试 PHP 文件
echo "<?php echo '<h1>This is Site 2 on Port 8082</h1>'; ?>" > /data/site2/index.php
准备新站点的 Nginx 配置文件
cat > /data/site2/site2.conf <<EOF
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.php index.html;
location / {
try_files \$uri \$uri/ /index.php?\$query_string;
}
location ~ \.php$ {
# 注意:这里改成了 php-site2
fastcgi_pass php-site2:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html\$fastcgi_script_name;
include fastcgi_params;
}
}
EOF
启动新的 PHP 容器 (php-site2)
docker run -d \
--name php-site2 \
-v /data/site2:/var/www/html \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/php:5.6.40-fpm-alpine
启动新的 Nginx 容器 (nginx-site2)
docker run -d \
--name nginx-site2 \
-p 8082:80 \
--link php-site2:php-site2 \
-v /data/site2:/var/www/html \
-v /data/site2/site2.conf:/etc/nginx/conf.d/default.conf \
nginx
启动 mysql
docker run -d \
--name mysql-server \
-p 3306:3306 \
-v /data/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:5.7
设置容器自动启动
docker update --restart=always nginx-test php-container mysql-server