Nginx - балансировка нагрузки возвращает 404 в Windows - PullRequest
0 голосов
/ 09 октября 2018

Я установил Nginx для Windows (64-разрядная версия) из здесь , потому что официальные двоичные файлы являются 32-разрядными.Целью является использование Nginx для балансировки нагрузки приложений NodeJS.Я следую инструкциям здесь , где ссылка на образец файла базовой конфигурации также существует.

Следующий файл конфигурации успешно работает в Linux, где установлена ​​nginxчерез Ubuntu PPA.Сами серверы запускаются через pm2.

map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

upstream top_servers {
    # Use IP Hash for session persistence
    ip_hash;

    # Least connected algorithm
    least_conn;

    # List of Node.JS Application Servers
    server 127.0.0.1:3001;      
    server 127.0.0.1:3002;     
    server 127.0.0.1:3003;      
    server 127.0.0.1:3004;      
}

server {
    listen 80;

    server_name ip.address;

    location /topserver/ {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass         http://top_servers;
        proxy_set_header   X-Request-Id $request_id;
    } 
}

Однако этот файл не работает с Windows.Я получаю сообщение об ошибке «Нет такого файла или каталога» в папке html установки Nginx в Windows.Я не делал никаких таких настроек для Linux.

Не могли бы вы помочь мне преобразовать указанный выше файл конфигурации для Windows?

ПРИМЕЧАНИЕ У меня нет выбора- Windows является обязательным для этого проекта.

1 Ответ

0 голосов
/ 09 октября 2018

Итак, я переписал содержимое conf/nginx.conf содержимым, показанным выше.Во-первых, я получил ошибку как "map" directive is not allowed here.Затем, после удаления этой директивы, я получил еще одну ошибку как "upstream" directive is not allowed here".Я думаю, что бинарные файлы, которые я использую, не поддерживают балансировку нагрузки.

...