Cách chạy nodejs trên vps

Tình hình là em đang sử dụng php để cronjob 1 file chạy liên tục nhưng do php xử lí quá lâu nên em có nghiên cứu 1 tí nodejs và viết được file đó sang nodejs.

Em chạy trên window ok, nhưng em không biết khi up lên vps centos thì chạy như thế nào cả. Như windows thì e mở cmd chạy node file.js rồi sau đó em bật localhost (xampp) chạy file php (file php này gửi giá trị đến file.js để nó dùng ‘request’ xử lí = nodejs ). Vậy trên vps linux thì em phải làm như thế nào ạ vì nó ko có cmd để chạy file.js .

Em nghĩ là sẽ viết 1 lệnh cron trên vps linux “* * * * * node file.js” (để chạy file js bật server ) sau đó cron file php của em . Liệu có được ko ạ. ( File php em xử lí lấy data từ sql -> curl post sang file.js nhận giá trị và xử lí = nodejs )

Em chỉ tìm hiểu để convert file xử lí em cần từ php -> nodejs chứ em ko học sâu nodejs nên em còn mơ hồ mong anh chị chỉ giáo , em cảm ơn.

Vào con vps mà chạy. Nó có terminal đấy.

2 Likes

loằng ngoằng quá nhỉ :smiley: mình k nắm được ý bạn lắm nhưng có vài thắc mắc

  • php vs nodejs đều là ngôn ngữ backend, xử lý lâu hay chậm mình không nghĩ phụ thuộc và ngôn ngữ
  • nodejs cũng có cron đấy, bạn search là thấy, có module cronjob cho node. PHP có packagist thì node có npmjs.com

Việc bạn hỏi liệu có được không thì mình đọc giải thích không nắm được bạn muốn làm gì nên k trả lời được, cứ tải về rồi thử thôi.

2 Likes

Về cơ bản thì bạn muốn sử dụng cronjob = nodejs phải ko, cái này thì ko có gì phức tạp, để trả lời cho bạn thì thế này:

  1. Bạn nên sử dụng module để chạy, ví dụ như node-schedule, cú pháp nó tương tự cronjob, đỡ phải config thêm. Ngoài ra thì bạn nên biết pm2
  2. Bạn có thể dùng cronjob của vps * * * * * node file.js tuy nhiên có 1 warning là trong 1 số trường hợp nodejs ko tự mất đi sau khi chạy xong -> có nghĩa là process node vẫn nằm trên ram, cron liên tục thì số lượng process sẽ tăng lên -> tràn RAM -> treo vps. Cái này thì tùy code của bạn thôi.
  3. Có thể dùng nodejs để gọi php nếu bạn muốn. Nhưng lại thêm warning nữa là nó rất phức tạp, sẽ xảy ra nhiều trường hợp ngoài dự kiến, tốn thêm thời gian fix những vấn đề này. Case này là phức tạp hóa vấn đề, tự làm khó chính mình.
  4. Cái gì php làm đc thì nodejs cũng làm đc, và ngược lại cái gì nodejs làm đc thì php cũng làm đc. Khác biệt lớn nhất là trình độ của dev tới đâu, tối ưu tới mức nào, bạn giỏi cái nào thì nên chọn cái đó. Có thể trong 1 số trường hợp nodejs ngon hơn, nhưng nếu bạn ko giỏi nodejs thì sẽ mất thời gian code, và kết quả đôi khi còn tệ hơn php.
5 Likes
  1. có cách nào để không bị vậy ko anh. nghĩa là cho nó tự mất đi khi chạy hết đoạn code ý ạ.
  2. ngược với em. em muốn gửi dữ liệu ( dữ liệu được lấy từ mysql = php ) rồi gọi nodejs (gửi dữ liệu cho nodejs xử lí) thì như thế nào ạ.
  1. Dùng case 1.
  2. Mình ko biết php :laughing:

dùng node-schedule là sẽ ko ngốn ram vps ạ

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?