Nginx 1.14 не может получить доступ к системным переменным среды - PullRequest
0 голосов
/ 25 мая 2018

Я потратил последние 2 дня, пытаясь выяснить, как получить системную переменную среды для передачи в Nginx.

  1. Я объявил переменную среды в /etc/nginx.conf с env FOO.
  2. Я пробовал perl_set и set_by_lua.

Но не работает.

Я запускаю это на машине Ubuntu "Bionic" 18.04.

Есть идеи?

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

Проблема в том, что Nginx удаляет все переменные среды, поэтому они недоступны в процессе веб-сервера.Следуя некоторым учебникам по Nginx, set_by_perl или set_by_lua рекомендуются для получения переменных системной среды в процесс веб-сервера, что, как мне кажется, не работает в моем случае.

Редактировать: Учебник приведен нижеЯ следовал: https://web.archive.org/web/20170712003702/https://docs.apitools.com/blog/2014/07/02/using-environment-variables-in-nginx-conf.html

1 Ответ

0 голосов
/ 26 мая 2018

Вы не можете установить переменную окружения из nginx.conf.Это будет проигнорировано, это то, что вы видели.

Есть несколько мест, где вы можете установить переменные окружения, я покажу пример для файла, где env vars будут доступны для всех пользовательских логинов.и NGINX.

$ sudo nano / etc / environment

Добавьте свои определения в конец файла;Оставь все, что есть, там.Просто добавьте свои новые определения.Сделайте это точно, без лишних пробелов в конце строк, без лишних строк в конце файла.Используйте двойные кавычки.Без комментариев.Очень точный

export COMPILERKEY = "jk8894085349058jjggl"
export FOO="ThisIsFooValue"
export FOO2="ThisIsFooValue2"

Сохранить файл

Перезагрузить сервер

Показать все определенные env-переменные

$ env

После определения вы можете получить доступ к переменным env через определенные средства.Методы доступа к переменным среды - это вопрос, о котором, я думаю, вы еще не задали.Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...