bugfix> nginx > 投稿

私は過去2日間、システム環境変数を取得してNginxに渡す方法を見つけようとしてきました。

  1. /etc/nginx.conf で環境変数を宣言しました env FOO と 。
  2. 私は perl_set を試しましたおよび set_by_lua

しかし、動作しません。

これをUbuntuの「Bionic」18.04マシンで実行しています。

何か案が?

編集:

問題は、Nginxがすべての環境変数を削除するため、Webサーバープロセス内で使用できないことです。 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 件
  • nginx.conf内から環境変数を設定することはできません。無視されます。これはあなたが見たものです。

    環境変数を設定できる場所はいくつかあります。すべてのユーザーログインとNGINXにenv変数が使用できるファイルの例を示します。

    $sudo nano /etc/environment

    ファイルの最後にdefを追加します。そこにあるすべてをそこに残します。新しい定義を追加するだけです。これを正確に行い、行末に余分なスペースを入れず、ファイルの終わりに余分な行を入れないでください。二重引用符を使用します。コメントはありません。とても正確です。

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

    ファイルを保存する

    サーバーを再起動

    定義されているすべてのenv変数を表示するには

    $env

    定義したら、定義した手段でenv変数にアクセスできます。環境変数のアクセス方法は、あなたがまだ質問していないと思う質問です。これがお役に立てば幸いです。

あなたの答え