nginx: [emerg] Директива «worker_processes» не допускается здесь, в /etc/nginx/conf.d/default.conf:1 в Angular 15?

nginx: [emerg] Директива «worker_processes» не допускается здесь, в /etc/nginx/conf.d/default.conf:1 в Angular 15?

Я столкнулся с этой ошибкой,

nginx: [emerg] Директива "worker_processes" не допускается здесь в /etc/nginx/conf.d/default.conf:1

Файл Docker:

FROM artifactorycloud.ual.com/v-docker/node:16 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build --configuration=development
FROM artifactorycloud.ual.com/v-docker/nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
# Copy the nginx conf that we created to the container
COPY ./nginx.conf  /etc/nginx/nginx.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Это мой файл nginx.conf:

Обновленный файл конфигурации сервера { listen 80; server_name localhost;

        root   /usr/share/nginx/html;
        index  index.html index.htm;
        include /etc/nginx/mime.types;

        gzip on;
        gzip_min_length 1000;
        gzip_proxied expired no-cache no-store private auth;
        gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;

        location / {
            try_files $uri $uri/ /index.html;
        }

        location /ui/health {
            access_log off;
            add_header 'Content-Type' 'text/plain';
            return 200 "Healthy\n";
        }
    }

Оригинальный nginx.conf

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    server {
        listen 80;
        server_name  localhost;

        root   /usr/share/nginx/html;
        index  index.html index.htm;
        include /etc/nginx/mime.types;

        gzip on;
        gzip_min_length 1000;
        gzip_proxied expired no-cache no-store private auth;
        gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;

        location / {
            try_files $uri $uri/ /index.html;
        }

        location /ui/health {
            access_log off;
            add_header 'Content-Type' 'text/plain';
            return 200 "Healthy\n";
        }
    }
}

может ли кто-нибудь мне помочь, где я ошибаюсь?

решение1

На самом деле это не ваш main nginx.confфайл, а файл конфигурации для вашего (или одного из ваших) веб-сайтов.

Основной файл конфигурации, который принимает worker_processдирективу, находится в /etc/nginx/nginx.conf.

Ваши директивы httpи eventsтакже не будут работать под /etc/nginx/conf.d/default.conf.

Файл nginx.conf по умолчанию уже содержит эти директивы, а рабочие процессы установлены на auto:

worker_processes  auto;

Удалите http, events и worker_processes из файла конфигурации вашего веб-сайта и настройте эти параметры в вашем основном nginx.confфайле.

Связанный контент