Điểm:1

Kết nối Sinatra + Thin + Nginx() không thành công (111: Kết nối bị từ chối) trong khi kết nối với thượng nguồn

lá cờ cn

Tôi có một ứng dụng Sinatra đang chạy trên Thin với Nginx làm proxy ngược và nhận được rất nhiều lưu lượng truy cập. Người dùng của tôi đang báo cáo lỗi 502 và nhìn vào nhật ký Nginx, tôi thấy rất nhiều lỗi sau:

[cảnh báo] máy chủ thượng nguồn tạm thời bị vô hiệu hóa trong khi kết nối với thượng nguồn
[lỗi] kết nối () không thành công (111: Kết nối bị từ chối) trong khi kết nối với thượng nguồn

Nếu tôi xem nhật ký từ ứng dụng Sinatra, tôi không thấy có lỗi nào.

Tôi đang khởi động máy chủ Thin như sau:

--max-conns 15360 --max-persistent-conns 2048 --bắt đầu theo luồng

Tôi đã thiết lập như sau cho Ninx:

worker_processes tự động;
worker_rlimit_nofile 65535;

sự kiện {
    công_nhân 15360 ;
}

Tệp máy chủ cho ứng dụng Sinatra:

người phục vụ {
    server_name my_sinatra_app;

    #rất nhiều bot cố gắng tìm lỗ hổng trong các trang web php
    vị trí ~ \.php {
        trả lại 404;
    }

    địa điểm / {
        proxy_pass http://localhost:6903;
        proxy_http_version 1.1;
        proxy_set_header Nâng cấp $http_upgrade;
        'nâng cấp' kết nối proxy_set_header;
        proxy_set_header Máy chủ lưu trữ $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_cache_bypass $http_upgrade;

        #tăng bộ đệm
        proxy_buffer_size 128k;
        proxy_buffers 4 256k;
        proxy_busy_buffers_size 256k;
    }

    nghe 443 ssl; # được quản lý bởi Certbot
    #...
    nội dung #SSL
}

Tại sao chuyện này đang xảy ra? Quá nhiều xe cộ?

Giải pháp là gì? Tôi có tiếp tục tăng worker_connections--max-conns cho đến khi các lỗi dừng lại?

đầu ra của htop có vẻ như máy chủ có thể xử lý nhiều hơn:

htop

Bất kỳ cái nhìn sâu sắc/lời khuyên?

CHỈNH SỬA

Mặc dù tôi không thấy bất kỳ lỗi nào trong nhật ký Sinatra hoặc trạng thái hệ thống đầu ra, tôi đã nhận thấy rằng dịch vụ không bao giờ chạy quá lâu nên có vẻ như máy chủ Thin thường xuyên gặp sự cố. Bất kỳ ý tưởng làm thế nào tôi có thể gỡ lỗi này hơn nữa?

Điểm:0
lá cờ cn

Vì vậy, vấn đề thực sự xảy ra với máy chủ Thin, vì lý do nào đó, nó liên tục gặp sự cố cứ sau vài phút với lỗi C++ và do đó Nginx sẽ đưa ra các lỗi đó trong khi cố gắng kết nối với Thin và không thành công (vì Thin sẽ gặp sự cố/khởi động lại).

Giải pháp là thay thế Thin bằng Puma, sau đó không còn vấn đề gì nữa.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.