含めるnginx相対パス


10

nginx confファイルでinclude、現在のconfファイルに関連する別のconfファイルを指定する方法はありますか?

私は書きたいと思います:

server {
  listen       80;
  server_name  localhost;

  include "../apis/basic.conf";

...
} 

2
いいえ。すべてのパスは、絶対パスまたはプレフィックスパスnginx.org/en/docs/configure.html
Alexey Ten

1
あなたのファイルとフォルダのレイアウトを推測すると、include apis/basic.conf;おそらくうまくいくでしょう。たとえば、このインクルードは構成ルートに関連しているため、このファイルをインクルードします
AD7six

回答:


4

includeディレクティブのNginxドキュメントには、相対パスの処理方法が記載されていません(リリース1.9.15以降)。Cコードの私の読みは、Alexey Tenがコメントで提供したように、パスは絶対パスまたはプレフィックスパスに対する相対パスでなければならないということです。

ここにソースコードへの関連リンクがあります


1
nginx 1.10.3でテストしました。設定-p.してみましたを含む./nginx.confに保存された設定ファイルから/tmp。見つけられないと言ってエラー/tmp/./nginx.conf-pオプションがそれを行わないか、インクルードが設定ファイルに関連するインクルードのみを含んでいるか、nginxが壊れています。
CMCDragonkai 2017

この-pオプションは、nginxコマンドが構成ファイルを探す場所にのみ影響します。を使用nginx -p . -c ./nginx.confすると、nginxコマンド./nginx.confはを検索します./nginx.conf。それ以外の場合は、nginx を使用しないと、のプレフィックスパスが検索されます。
CMCDragonkai 2017

2

上記のAlexy Tenのコメントと同様に、デフォルトのプレフィックスが使用されます。ただし、このStackOverflowの投稿によれば、https://stackoverflow.com/a/25486871/1684819 -pオプションを指定して、デフォルトのコンパイル済みパスの代わりにすべての相対パスを参照する場所を宣言できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.