Có giao diện lập trình để cấu hình nginx không?


8

Tôi đang sử dụng nginx như một bộ cân bằng tải trước các trường hợp máy chủ web của tôi. Tôi chạy 4 phiên bản của máy chủ web và phân bổ lưu lượng bằng nhau trên chúng bằng nginx. Khi tôi đang triển khai phiên bản mới - tôi thay đổi nginx.conf và đánh dấu 2 trong số 4 máy chủ đầu tiên, sau đó khởi động lại nginx. Tôi cập nhật mã máy chủ và khởi động lại 2 máy chủ đầu tiên. Sau đó, tôi chỉnh sửa nginx.conf để chỉ ra rằng 2 máy chủ đầu tiên đã hoạt động và đánh dấu 2 máy chủ kia xuống, một lần nữa khởi động lại nginx. Sau đó, tôi cập nhật và khởi động lại hai trường hợp khác. Một lần nữa cập nhật nginx.conf đánh dấu tất cả các máy chủ và khởi động lại cuối cùng của nginx.

Tôi phải làm quá trình này nhiều lần trong một số ngày. Thực hiện thủ công các bước trên mỗi lần hóa ra là dễ bị lỗi.

Có quyền truy cập theo chương trình vào nginx / nginx.conf để tôi có thể tự động hóa quy trình này không?

[Cách duy nhất tôi tưởng tượng ngay bây giờ là viết các bước trên trong shell script]


3
Những gì bạn đang làm có vẻ rất kỳ quặc. Đặt fail_timeoutthành 5s trên mỗi phụ trợ của bạn, đưa hai trong số chúng xuống và NGINX sẽ chọn nó và chuyển hướng tất cả lưu lượng truy cập đến hai nút thứ hai. Cập nhật mã của bạn, đợi 5 giây (hoặc bất cứ giá trị hết thời gian chờ nào của bạn) và NGINX sẽ bắt đầu sử dụng hai máy chủ đầu tiên, sau đó gỡ xuống hai giây thứ hai và lặp lại. NGINX chơi rất độc đáo với kiểu thiết lập đó
Smudge

Câu trả lời:


3

Không, nginx không có API cấu hình.

Mặc dù có những trường hợp khi bạn có thể cần đánh dấu thủ công các máy chủ là xuống, nhưng thông thường, việc định cấu hình proxy_next_upstream + fail_timeout sẽ hoạt động.


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.