jalur relatif nginx untuk disertakan

10

Dalam file conf nginx, apakah ada cara untuk menentukan includeke file conf lain relatif terhadap file conf saat ini?

Saya ingin menulis:

server {
  listen       80;
  server_name  localhost;

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

...
} 
Alex Rothberg
sumber
2
Nggak. Semua jalur bersifat absolut atau relatif terhadap jalur awalan nginx.org/en/docs/configure.html
Alexey Ten
1
Menebak tata letak file dan folder Anda, include apis/basic.conf;mungkin hanya akan berfungsi. Sebagai contoh, ini termasuk relatif ke root konfigurasi, jadi sertakan file ini .
AD7six

Jawaban:

4

Dokumen Nginx untuk includearahan tidak mendokumentasikan bagaimana jalur relatif ditangani (pada rilis 1.9.15). Bacaan saya tentang kode C adalah bahwa path harus absolut atau relatif terhadap path awalan, seperti yang ditawarkan Alexey Ten dalam komentar.

Berikut tautan terkait ke kode sumber .

Mark Stosberg
sumber
1
Saya baru saja menguji pada nginx 1.10.3. Mengatur -pke .dan mencoba termasuk ./nginx.confdari file konfigurasi yang disimpan di /tmp. Kesalahan dengan mengatakan kepada saya bahwa itu tidak dapat ditemukan /tmp/./nginx.conf. Entah -popsi tidak melakukannya, atau penyertaan hanya mencakup relatif terhadap file konfigurasi, atau nginx saya rusak.
CMCDragonkai
The -ppilihan hanya mempengaruhi mana nginxperintah mencari file konfigurasi. Menggunakan nginx -p . -c ./nginx.confakan membuat perintah nginx mencari ./nginx.conf, jika tidak, akan mencari path awalan untuk ./nginx.conf.
CMCDragonkai
2

Mirip dengan apa yang dikomentari Alexy Ten di atas, awalan default akan digunakan. Tetapi menurut posting StackOverflow ini: https://stackoverflow.com/a/25486871/1684819 opsi -p dapat disediakan untuk menyatakan di mana semua jalur relatif akan direferensikan alih - alih jalur kompilasi-in default.

xobes
sumber