Nginx配置文件报错整理

目录

一、安装Docker服务

1、环境准备

1.1 关闭防火墙

1.2 修改主机名

1.3 修改hosts文件

2、安装docker

3、配置和启动docker

二、安装harbor服务

1、harbor01操作

1.1 安装docker-compose和解压缩文件

1.2 安装和启动harbor

2、harbor02操作

1.2 安装和启动harbor

三、安装nginx服务

四、nginx配置文件报错

1、报错1

1.1 upstream位置不对

​编辑

1.2 解决方法

2、报错2

2.1 max_fail单词拼错,应为max_fails

2.1 解决方法

3、报错3

3.1 无法解析域名

3.2 解决方法

4、报错4

4.1 使用nginx-proxy.crushlinux.com无法登录

4.2 解决方法

5、报错5

5.1 使用nginx-proxy.crushlinux.com登录异常,如上

5.2 解决方法

五、安装dns服务

1、安装dns服务

2、配置named.conf等文件

3、检测配置文件和启动服务

4、修改DNS服务地址进行测试

六、Harbor仓库的复制与同步

1、配置DNS服务

2、配置Windows本地hosts文件

3、进行测试,连接成功即可


一、安装Docker服务

1、环境准备

1.1 关闭防火墙

systemctl disable --now firewalld
setenforce  0

1.2 修改主机名

ip r g 1
hostnamectl set-hostname harbor01 && bash
hostnamectl set-hostname harbor02 && bash
hostnamectl set-hostname nginx-proxy && bash

1.3 修改hosts文件

cat >>/etc/hosts <<'eof'
10.4.7.11 harbor01.crushlinux.com harbor01
10.4.7.12 harbor02.crushlinux.com harbor02
10.4.7.13 nginx-proxy.crushlinux.com nginx-proxy
eof

scp /etc/hosts harbor02:/etc/

2、安装docker

情况说明:准备三台虚拟机,安装Docker服务

wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce

3、配置和启动docker

cat >/etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://41q9iv61.mirror.aliyuncs.com",
    "https://docker.cloudmessage.top",
    "https://registry.docker-cn.com",
    "https://docker.nju.edu.cn",
    "https://registry.cn-hangzhou.aliyuncs.com",
    "https://mirror.ccs.tencentyun.com",
    "https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com",
    "http://hub-mirror.c.163.com",
    "http://f1361db2.m.daocloud.io"
  ],
  "insecure-registries": ["harbor01.crushlinux.com","harbor02.crushlinux.com","nginx-proxy.crushlinux.com"]
}
EOF

systemctl daemon-reload
systemctl enable --now docker

scp harbor01:/etc/docker/daemon.json /etc/docker/
systemctl daemon-reload
systemctl enable --now docker

二、安装harbor服务

1、harbor01操作

1.1 安装docker-compose和解压缩文件

ls -lh
chmod +x docker-compose-1.24.1
mv docker-compose-1.24.1 /usr/local/bin/docker-compose
docker-compose --version
tar xf harbor-offline-installer-v2.3.0.tgz -C /usr/local
scp -rq /usr/local/harbor harbor02:/usr/local
scp /usr/local/bin/docker-compose harbor02:/usr/local/bin

1.2 安装和启动harbor

cp /usr/local/harbor/{harbor.yml.tmpl,harbor.yml} 

sed -i -e '13,18 s/^/#/' \
    -e '/^hostname/s/reg.mydomain.com/harbor01.crushlinux.com/g' \
    /usr/local/harbor/harbor.yml
  
grep ^hostname /usr/local/harbor/harbor.yml
sed -n '13,18p' /usr/local/harbor/harbor.yml
grep harbor_admin_password /usr/local/harbor/harbor.yml
sh /usr/local/harbor/install.sh --with-trivy &>install.txt
docker-compose -f /usr/local/harbor/docker-compose.yml ps

2、harbor02操作

1.2 安装和启动harbor

docker-compose --version
cp /usr/local/harbor/{harbor.yml.tmpl,harbor.yml} 

sed -i -e '13,18 s/^/#/' \
    -e '/^hostname/s/reg.mydomain.com/harbor02.crushlinux.com/g' \
    /usr/local/harbor/harbor.yml
  
grep ^hostname /usr/local/harbor/harbor.yml
sed -n '13,18p' /usr/local/harbor/harbor.yml
grep harbor_admin_password /usr/local/harbor/harbor.yml
sh /usr/local/harbor/install.sh --with-trivy &>install.txt
docker-compose -f /usr/local/harbor/docker-compose.yml ps

三、安装nginx服务

yum install -y nginx

四、nginx配置文件报错

1、报错1

1.1 upstream位置不对

cp -a /etc/nginx/nginx.conf{,.bak}

vim /etc/nginx/nginx.conf
...
upstream harbor_pool {
    server harbor01.crushlinux.com weight=1 max_fail=3 fail_timeout=10s;
    server harbor02.crushlinux.com weight=1 max_fail=3 fail_timeout=10s;
}
...
http {
    ...
}
server {
    listen        80 default_server;
    server_name   nginx-proxy.crushlinux.com;
    ...
    location / {
        proxy_pass http://harbor_pool;  
    }
}
...

grep -A10 upstream /etc/nginx/nginx.conf
grep -A10 default_server /etc/nginx/nginx.conf
nginx -t

1.2 解决方法

vim /etc/nginx/nginx.conf
...
http {
    ...
    upstream harbor_pool {
        server harbor01.crushlinux.com weight=1 max_fail=3 fail_timeout=10s;
        server harbor02.crushlinux.com weight=1 max_fail=3 fail_timeout=10s;
    }
}
server {
    listen        80 default_server;
    server_name   nginx-proxy.crushlinux.com
    ...
    location / {
        proxy_pass http://harbor_pool;  
    }
}
...

grep -A15 upstream /etc/nginx/nginx.conf

2、报错2

2.1 max_fail单词拼错,应为max_fails

nginx -t
grep max_fail /etc/nginx/nginx.conf

2.1 解决方法

sed -i 's/max_fail/max_fails/g' /etc/nginx/nginx.conf
grep max_fails /etc/nginx/nginx.conf

3、报错3

3.1 无法解析域名

nginx -t
cat /etc/hosts

3.2 解决方法

scp 10.4.7.11:/etc/hosts /etc/
cat /etc/hosts
nginx -t
systemctl enable --now nginx
netstat -lntup |grep 80

4、报错4

4.1 使用nginx-proxy.crushlinux.com无法登录

docker login -uadmin -pHarbor12345 nginx-proxy.crushlinux.com

4.2 解决方法

grep -A1 proxy_pass /etc/nginx/nginx.conf
sed -i '/proxy_pass/a\            proxy_set_header Host $Host;' /etc/nginx/nginx.conf
grep -A1 proxy_pass /etc/nginx/nginx.conf
nginx -s reload
docker login -uadmin -pHarbor12345 nginx-proxy.crushlinux.com

5、报错5

5.1 使用nginx-proxy.crushlinux.com登录异常,如上

docker login -uadmin -pHarbor12345 nginx-proxy.crushlinux.com

5.2 解决方法

grep -A3 upstream /etc/nginx/nginx.conf
sed -i '/upstream/a\        ip_hash;' /etc/nginx/nginx.conf
grep -A3 upstream /etc/nginx/nginx.conf
nginx -s reload
docker login -uadmin -pHarbor12345 nginx-proxy.crushlinux.com

五、安装dns服务

1、安装dns服务

 yum install -y bind*

2、配置named.conf等文件

cat >/var/named/crushlinux.com <<'eof'
$TTL 86400
@       SOA     crushlinux.com. admin.crushlinux.com.   (
                20241223
                3H
                15M
                1W
                1D
)
        IN      NS      ns.crushlinux.com.
ns              IN      A       10.4.7.11
harbor01        IN      A       10.4.7.11
harbor02        IN      A       10.4.7.12
nginx-proxy     IN      A       10.4.7.13
eof

cat >/etc/named.conf <<'eof'
options {
    directory    "/var/named";
};

zone "." IN {
    type hint;
    file "named.ca";
};

zone "crushlinux.com" IN {
    type master;
    file "crushlinux.com";
};
eof

3、检测配置文件和启动服务

named-checkconf -z /etc/named.conf
named-checkzone crushlinux.com /var/named/crushlinux.com
systemctl enable --now named
netstat -lntup |grep 53

4、修改DNS服务地址进行测试

grep DNS /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/8.8.8.8/10.4.7.13/g' /etc/sysconfig/network-scripts/ifcfg-eth0
grep DNS !$
systemctl restart network
cat /etc/resolv.conf 
nslookup harbor01.crushlinux.com

六、Harbor仓库的复制与同步

1、配置DNS服务

sed -i 's/8.8.8.8/10.4.7.13/g' /etc/sysconfig/network-scripts/ifcfg-eth0
grep DNS !$
systemctl restart network
cat /etc/resolv.conf 

2、配置Windows本地hosts文件

3、进行测试,连接成功即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MineGi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值