đường dẫn tương đối nginx bao gồm


10

Trong tệp conf nginx, có cách nào để chỉ định includetệp conf khác liên quan đến tệp conf hiện tại không?

Tôi muốn viết:

server {
  listen       80;
  server_name  localhost;

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

...
} 

2
Không. Tất cả các đường dẫn là tuyệt đối hoặc liên quan đến đường dẫn tiền tố nginx.org/en/docs/configure.html
Alexey Ten

1
Đoán ở bố cục tập tin và thư mục của bạn, include apis/basic.conf;có lẽ sẽ chỉ hoạt động. Ví dụ, bao gồm này có liên quan đến root config, vì vậy bao gồm tệp này .
AD7six

Câu trả lời:


4

Các tài liệu Nginx cho includechỉ thị không ghi lại cách xử lý các đường dẫn tương đối (kể từ phiên bản 1.9.15). Tôi đọc mã C là đường dẫn phải tuyệt đối hoặc liên quan đến đường dẫn tiền tố, như Alexey Ten đưa ra trong một nhận xét.

Đây là một liên kết liên quan đến mã nguồn .


1
Tôi vừa thử nghiệm trên nginx 1.10.3. Thiết lập -pđể .và cố gắng bao gồm ./nginx.conftừ một tập tin cấu hình lưu trữ trong /tmp. Nó lỗi bằng cách nói với tôi rằng nó không thể tìm thấy /tmp/./nginx.conf. Hoặc là -plựa chọn không làm điều đó, hoặc bao gồm chỉ bao gồm tương đối so với tập tin cấu hình, hoặc nginx của tôi bị hỏng.
CMCDragonkai

Các -plựa chọn duy nhất ảnh hưởng đến nơi nginxlệnh tìm kiếm các tập tin cấu hình. Việc sử dụng nginx -p . -c ./nginx.confsẽ làm cho lệnh nginx tìm kiếm ./nginx.conf, nếu không có nó, nó sẽ tra cứu đường dẫn tiền tố cho ./nginx.conf.
CMCDragonkai

2

Tương tự như những gì Alexy Ten đã nhận xét ở trên, tiền tố mặc định sẽ được sử dụng. Nhưng theo bài đăng StackOverflow này: https://stackoverflow.com/a/25486871/1684819 tùy chọn -p có thể được cung cấp để khai báo nơi tất cả các đường dẫn tương đối sẽ được tham chiếu thay vì đường dẫn được biên dịch mặc định.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.