Hỏi: setup server cho project node.js



  • Chào mọi người. Em mới tập setup 1 cái server cho project node.js. Em có 2 vấn đề cần được các anh giải đáp dùm em:

    1. Em sử dụng nginx để cho server, có tài liệu thì kêu sửa file nginx.conf, có tài liệu thì kêu tạo file config trong sites-available. Hai vị trí sửa này có gì khác nhau không ?

    2. Sau khi e tạo file config trong sites-available, chạy được ok r. Nhưng mà thỉnh thoảng lại có tình trạng 502 bad gateway. Em xem thử file error.log của nginx thì nó báo (111: Connection refused). Em có tìm hiểu thử thì nó có nhiều nguyên nhân nên em không biết nó rơi vào nguyên nhân nào. Có cách nào để biết được lý do tại sao nó xảy ra tình trạng này không?

    Đây là file conf của e:
    0_1470118591607_upload-3801414c-40bc-4e8e-ac0a-07f708bba3e4



  • check cái proxy_pass xem còn sống không



  • @stmiizz nó vẫn chạy bình thường



  • 1- Nginx có nhiều chỗ để đặt config lắm :D và các vị trí này được cấu hình luôn trong file nginx.conf . Lâu không động vào nếu nhớ không nhầm thì bạn kéo xuống dưới sẽ có . các thư mục load config, và kiểu đuôi ở từng thư mục, tự cấu hình lại cũng được . Nên đặt 1 chỗ cho thống nhất dễ quản lý.
    2- Lỗi này có thể do lúc đó nginx bị chặn truy cập do firewall :D. Mở port ra chưa



  • @Quốc-Cường port chạy bình thường, lỗi này thì năm thì mười họa nó mới xuất hiện. có cách nào để kiểm tra firewall có chặn hay không vậy anh ?



  • @thanh-nam-trần đã nói trong Hỏi: setup server cho project node.js:

    @Quốc-Cường port chạy bình thường, lỗi này thì năm thì mười họa nó mới xuất hiện. có cách nào để kiểm tra firewall có chặn hay không vậy anh ?

    vào đọc config thôi. Hoặc do server bên em bị treo và tự khởi động lại qua pm2 . Xem log pm2 xem



  • @Quốc-Cường pm2 em xem log thì không thấy khởi động lại. toàn là khi nào em reset mới có thôi.

    Đây là file nginx.conf của em
    https://bitbucket.org/snippets/trannamhcm/R4qBM



  • Lỗi 502 Bad Gateway tôi đoán phần trăm lớn là do bạn handle exception không hợp lý cho nên chạy 1 thời gian là bị vậy, đây là vấn đề của NodeJS chứ không phải của Nginx.
    Bạn post phần handle exception của mình lên đây để cùng xem.



  • @Đô-Nguyễn Nếu em không nhầm thì là cái này, nó nằm trong app.js

    0_1470129331714_upload-818a66d7-a5ff-491f-a5b3-d3d4ca1073fe



  • Cái này theo mình là không phải đâu, dòng code này khá bình thường.
    Bạn có sử dụng try/catch hoặc dùng uncaughtException không?



  • @Đô-Nguyễn
    Không có đâu bạn ơi !



  • Bạn post chi tiết lỗi mình gặp phải lên đây xem.



  • @Đô-Nguyễn Mình chỉ thiết lập server vs backend, lúc test thì mình chưa gặp lỗi này bao giờ cả, fontend test báo cho mình biết là bị bad gateway. mình kiểm tra file error log của nginx nó báo là:

    0_1470134154282_upload-bbe5df53-b301-4531-96ed-7f97e24cd2f9

    Không biết có phải thông báo lỗi của 502 ko.



  • Đây lại là lỗi kết nối timeout rồi, bạn xem lại cấu hình timeout trên nginx proxy_read_timeout ???; thử tăng nó lên cao hơn xem sao? Hoặc bạn thử lên server của bạn kết nối với host:"xxx" xem ok không?



  • bạn run command như sau : "setsebool httpd_can_network_connect on" là ok nhé !



  • @Đạo-Trần192 có thể cho mình biết command line này làm gì không bạn?



  • @thanh-nam-trần , default nó off sẽ block các connect, mình set on lên , giải pháp trên có giải quyết được vấn đề của bạn k ?



  • @Đạo-Trần192 sau khi mình nhập lệnh trên nó ra như vậy là thế nào bạn?
    setsebool: SELinux is disabled.



  • SELinux đang disabled bạn google enable nó lên sau đó run command trên nhé bạn !



  • khó hiểu quá


Log in to reply