Рейтинг:-1

Не могу запустить ngnix

флаг kr

Мой разработчик добавил на наш сайт сторонние аутентификации, такие как Google, Twitter. Я хотел бы взять на себя разработку прямо сейчас. Первое, что мне нужно сделать, это проверить эти сторонние аутентификации на локальном хосте. Он дал мне следующий файл конфигурации.

вверх по течению мой веб-сайт {
   сервер 178.62.00.00:443;
}

сервер {
    слушать 443 ssl;
    имя_сервера локальный хост;
    ssl_certificate /etc/ssl/localhost/localhost.crt;
    ssl_certificate_key /etc/ssl/localhost/localhost.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers включен;
    ssl_session_timeout 1 д;
    ssl_stapling включен;
    ssl_stapling_verify включен;
    add_header Strict-Transport-Security max-age=15768000;
    add_header X-Frame-Options "";
    proxy_ssl_name "www.mywebsite.io";
    proxy_ssl_server_name включено;

    местоположение ~ /socialLoginSuccess {
        переписать ^ '/#/socialLoginSuccess' перенаправить;
    }

    расположение ~ /auth/(.*) {
        proxy_pass https://mywebsite/myapp/auth/$1?$query_string;
        proxy_set_header Хост localhost;
    }

    место расположения / {
        proxy_set_header Хост $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $ схема;
        proxy_set_header Accept-Encoding "";
        proxy_set_header Прокси "";
        прокси_пароль http://localhost:3000/;

        # Эти три строки добавлены в соответствии с https://github.com/socketio/socket.io/issues/1942 для устранения ошибки socketio.
        прокси_http_версия 1.1;
        proxy_set_header Обновить $http_upgrade;
        proxy_set_header Соединение "обновление";
    }
}

Я тогда поставил это как /usr/local/etc/nginx/nginx.conf под мой MacOS. Однако я не смог успешно запустить nginx:

$nginx-т
nginx: [emerg] директива «upstream» не разрешена здесь, в /usr/local/etc/nginx/nginx.conf:1
nginx: проверка файла конфигурации /usr/local/etc/nginx/nginx.conf не удалась

$ brew сервисы запускают nginx
==> Успешно запущен `nginx` (метка: homebrew.mxcl.nginx)

список услуг по приготовлению $
Предупреждение: бутылка вызова :unneeded устарела! Замены нет.
Пожалуйста, сообщите об этой проблеме на кран stripe/stripe-cli (не Homebrew/brew или Homebrew/core):
  /usr/local/Homebrew/Library/Taps/stripe/homebrew-stripe-cli/stripe.rb:9

256
Имя Статус Пользователь Plist
[email protected] остановлен          
ошибка nginx softtimur /usr/local/opt/nginx/homebrew.mxcl.nginx.plist

Кто-нибудь знает, как это исправить?

Редактировать 1:

Я пытался использовать конфигурация nginx по умолчанию, но сервисы brew перезапускают nginx с последующим список услуг по пивоварению все равно показывал ошибку.

Richard Smith avatar
флаг jp
См. [эти вопросы и ответы] (https://stackoverflow.com/questions/41766195/nginx-emerg-server-directive-is-not-allowed-here/41766811#41766811) на SO.
флаг kr
Я пробовал [это] (https://pastebin.com/raw/weqgti9B), `brew services перезапускает nginx`, а затем `brew services list` все еще возвращал ошибку.
флаг us
Каково содержимое журнала ошибок nginx? Что выводит nginx -T, обратите внимание на заглавную букву «T»?
флаг kr
`nginx -T` возвращает `nginx: [emerg] не удается загрузить ключ сертификата "/etc/ssl/localhost/localhost.key": BIO_new_file() не удалось (SSL: ошибка: 0200100D: системная библиотека: fopen: Отказано в доступе: fopen ( '/etc/ssl/localhost/localhost.key','r') ошибка:2006D002:BIO процедуры:BIO_new_file:system lib) nginx: файл конфигурации /usr/local/etc/nginx/nginx.conf не прошел проверку`. `sudo nginx -T` возвращает `nginx: синтаксис файла конфигурации /usr/local/etc/nginx/nginx.conf в порядке nginx: проверка файла конфигурации /usr/local/etc/nginx/nginx.conf прошла успешно`.Где-нибудь я мог бы увидеть больше о журнале ошибок nginx?
Рейтинг:1
флаг us

Фрагмент конфигурации, предоставленный вашим коллегой, должен находиться внутри http блокировать.

Однако, когда вы поместите это в nginx.conf и использовать это как конфигурацию nginx, это не работает, потому что http уровень отсутствует.

nginx часто поставляется с nginx.conf файл, который имеет хорошие значения по умолчанию, а затем включать внутри http раздел, чтобы включить другую конфигурацию.

Вам необходимо проверить nginx.conf поставляемый с вашей установкой nginx, и посмотрите, как он включает другие файлы конфигурации.

флаг kr
Я пытался использовать [конфигурацию nginx по умолчанию] (https://pastebin.com/raw/aHwcV8qD), но команда `brew services перезапускает nginx`, а затем `brew services list` по-прежнему показывала ошибку.
Рейтинг:0
флаг kr

Кажется, что сервисы brew запускают nginx, список услуг по пивоварению, сервисы варки останавливают nginx здесь не надежны.

Напротив, судо nginx (для запуска nginx) и sudo nginx -s остановить работай на меня.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.