Triển khai nodejs trên server centos

    Triển khai mã chạy là giai đoạn không thể thiếu mỗi khi cần release hay beta với một ứng dụng. Với nodejs cũng không phải là một ngoại lệ. Ở bài viết này mình sẽ hướng dẫn các bạn cài đặt một số thiết lập cơ bản để chạy được ứng dụng nodejs trên server. Hệ điều hành mà mình sử dụng thiết lập trong bài viết này là Centos 6. Với các hđh khác cũng tương tự các bạn nhé. Dưới đây là các phần mục chính mà mình sẽ đi qua
  1. Cài đặt môi trường và cài đặt NodeJS
  2. Một số chú ý sau khi cài đặt nodejs
  3. Một số lỗi hay mắc phải

    Đầu tiên để đảm bảo cài đặt được các gói trên server bằng các câu lệnh dưới bạn hãy đảm bảo download và cài đặt cho mình một số công cụ như dưới đây
  • putty:(đây là 1 tiện ích nhỏ giúp thao tác với server bằng dòng lệnh). Bạn cũng có thể sử dụng các phần mềm thay thế có chức năng tương tự với putty.
  • WinSCP: Đây là một giao diện gui giúp bạn thao tác chuyển đổi file giữa máy tính của bạn với server thuận tiện hơn.
 --> Nào ta cũng đi vào các bước thiết lập thôi nào 

1. Cài đặt môi trường và cài đặt NodeJS

Bước 1: Cài đặt gói EPEL (Extra Packages for Enterprise Linux) trên Centos
            $ sudo yum install epel-release
            và yum -y update
Bước 2: Bay giờ là bước chuẩn bị môi trường để cài đặt những thứ cần thiết cho Node.js. Để làm điều này bạn cần “Development Tools” (được sử dụng để biên dịch mã nguồn). Hãy chạy lệnh sau .
            yum -y groupinstall "Development Tools"
Bước 3: Để cài và chạy được các phiên bản npm cao và node cao hơn ta sẽ cài tiếp bản cập nhật devtool 2 (Ở centos 7.0 trở lên đã được thiết lập lên có thể bỏ qua)
            $ yum install devtoolset-2
            $ scl enable devtoolset-2 bash
Bước 4: Cài đặt nodejs
  Cách 1: Cài đặt qua yum
            $ yum install curl
            $ curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
            $ yum -y install nodejs
  Cách 2: Cài đặt qua mã nguồn:
   cd tới thư mục cần để tài về file cài đặt nodejs và chạy câu lệnh sau để tài về
            $wget http://nodejs.org/dist/v<VERSION_NODEJS>/node-v<VERSION_NODEJS>.tar.gz
             (trong đó version nodejs là các phiên bản chẳng hạn của tôi bây giờ là 4.5.0).
            => giải nén file vừa tải về: 
                $tar zxf node-v<VERSION_NODEJS>.tar.gz
             (bạn cũng có thể sử dụng gui tool WinSCP mà mình đề cập ở trên để truy cập và giải nén file)
            - cd tới thu mục vừa giải nén... (chẳng hạn như của mình là cd nodejs_4.5.0 chăng hạn) và chạy đoạn lệnh dưới đây 
                        $ ./configure
                        $ make
                        $ make install
            - Kiểm tra phiên bản nodejs và npm vừa cài đặt bằng cách gõ lệnh: node -v và npm -v ... nếu màn hình hiển thị các phiên bản tương ứng tức là bạn đã cài đặt thành công nodejs trên vps của mình

2. Một số chú ý sau khi cài đặt nodejs

    Mặc định khi cài đặt xong nodejs thì các gói quản lý package npm đi kèm theo không phải là mới nhất. Vì vậy ta sẽ tiến hành nâng cấp cho npm băng lệnh: 
            npm i npm -g
- Một số gói cơ bản hữu dụng:
  • npm i bower -gccCài đặt gói quản lý package client với bower: 
  • sudo yum install git: Cài đặt git quản lý subversion cho mã nguồn của bạn
  • Cài đặt gói hữu dụng để phát triển ứng dụng nodejs. (Chi tiết các gói này mình sẽ nói trong một bài viết gần nhất) 
    • forever:(npm i forever -g): Gói duy trì ứng dụng giúp ứng dụng nodejs không bị dừng lại mỗi khi crash
    • pm2 (npm i pm2 -g): Giống gói forever. Tuy nhiên nó cung cấp nhiều tiện ích hơn. Mình cũng có bài viết về library này, bạn có thể đọc nó tại đây
    • express-generator (npm i express-generator -g): gói giúp tạo cấu trúc một ứng dụng express cơ bản
  => Giờ bạn hãy thử tạo một ứng dụng nodejs trên vps của mình và run thử xem sao nhé. Run như nào thì bạn phải hỏi goolge thôi 😁

3. Một số lỗi hay mắc phải

    Đây là một số lỗi cơ bản mà thời đầu mình làm việc với nodejs hay mắc phải. Bạn có thể tham khảo những lỗi đó tại đây nhé:
  • Không thể chạy app trên server sau khi cài đặt
    • Cách khắc phục 1: Edit file mã code chưa đoạn lệnh set port của bạn. Sửa thêm cấu hình 0.0.0.0 vào port khi chạy để phù hợp với ip v6, nó trông như thế này
                                  app.listen(port,"0.0.0.0");
    • Tắt fileware: Cách này tuy không khả thi nhưng nếu cần thiết bạn có thể sử dụng nó để test. Để biết thêm cấu hình mở cổng cần chạy trên fileware bạn có thể xem tại đây
  • Ko thể update phiên bản nodejs mới nhất (thường xảy ra với server centos 6). Cách khắc phục bạn cài đặt lại devtool2 như các bước hướng dẫn cài đặt phần devtool2 mà mình đã hướng dẫn ở trên
      Bonus thêm một số lệnh để bạn xem thông tin server
  • # netstat -ntlp: Lệnh xem các port đang chạy ở server
  • # cat /proc/cpuinfo: Lệnh kiểm tra CPU:
  • # top -c: Lệnh theo dõi CPU:
  • # uname -a: Lệnh kiểm tra hệ điều hành:
  • # cat /etc/redhat-release: Lệnh kiểm tra phiên bản hệ điều hành:
  • # free -m: Lệnh kiểm tra Ram:
  • dd if=/dev/zero of=1GB.tmp bs=1024 count=1M conv=fdatasync: Lệnh kiểm tra tốc độ đọc ghi HDD:
Tham khảo