Thứ ba, 16/07/2013 | 00:00 GMT+7

Cách tạo ứng dụng Node.js bằng Sails.js trên VPS Ubuntu


Màu đỏ nghĩa là gì

Các dòng mà user cần nhập hoặc tùy chỉnh sẽ có màu đỏ trong hướng dẫn này!

Phần còn lại chủ yếu phải là copy-and-paste.

Sails.js là gì?

Sails.js giúp bạn dễ dàng tạo các ứng dụng Node.js cấp doanh nghiệp, tùy chỉnh. Nó được thiết kế để bắt chước mô hình MVC của các khuôn khổ như Ruby on Rails, nhưng với sự hỗ trợ cho các yêu cầu của các ứng dụng hiện đại: các API hướng dữ liệu với kiến trúc hướng dịch vụ, có thể mở rộng. Nó đặc biệt tốt để xây dựng trò chuyện, console thời gian thực hoặc trò chơi nhiều người chơi.

Nói cách khác: Sails.js cho phép bạn dễ dàng tạo ứng dụng với Node.js bằng cách sử dụng mẫu Model-View-Controller để tổ chức mã của bạn sao cho dễ bảo trì hơn. Sails.js cung cấp các lệnh khác nhau để tự động tạo các mô hình và bộ điều khiển, giúp bạn tiết kiệm thời gian và cho phép bạn tạo ứng dụng nhanh hơn. (Chế độ xem phải được tạo theo cách thủ công trong folder / views trong mẫu /views/:controller/:method.ejs). Bạn có thể sử dụng nhiều ngôn ngữ tạo khuôn mẫu khác nhau, tuy nhiên EJS là mặc định, và sẽ an toàn và dễ dàng nhất nếu chỉ gắn bó với EJS.

Sails.js cũng có nhiều "bộ điều hợp" khác nhau, cho phép bạn sử dụng hầu như bất kỳ database nào bạn muốn với ứng dụng của bạn . Điều này mang lại cho bạn sự linh hoạt tối đa, khác với các khuôn khổ MVC khác đòi hỏi bạn phải sử dụng MongoDB.

Tất cả những điều này và thực tế là khi triển khai, tất cả các file của bạn đều được nối và rút gọn nghĩa là bạn không phải mất nhiều thời gian để cài đặt khung chính để xây dựng ứng dụng của bạn , vì tất cả đã sẵn sàng và dễ dàng để sử dụng.

Cài đặt Node.js trên VPS Ubuntu

  1. Cài đặt các yêu cầu :
    sudo apt-get install python-software-properties python g++ make
    Nếu bạn đang sử dụng Ubuntu 12.10, bạn cũng cần thực hiện những việc sau:
    sudo apt-get install software-properties-common
  2. Thêm Kho lưu trữ PPA, được khuyến khích bởi Joyent (những người bảo trì Node.js):
    sudo add-apt-repository ppa:chris-lea/node.js
  3. Cập nhật danh sách gói:
    sudo apt-get update
  4. Cài đặt Node.js:
    sudo apt-get install nodejs

Cài đặt Sails.js

Để cài đặt bản phát hành buồm ổn định mới nhất, bạn cần chạy:

sudo npm install sails -g

Cờ -g đảm bảo buồm được cài đặt trên phạm vi global và được dùng như một công cụ dòng lệnh.

Tạo ứng dụng Sails của bạn

Bạn cần chuyển đến folder mà bạn muốn đặt ứng dụng của bạn , ví dụ: /var/www và sau đó chạy:

sails new project-name

Thao tác này sẽ thêm các file cần thiết vào dự án của bạn và tạo một folder có tên là tên -dự án .

Khởi động server Sails.js

Để xem ứng dụng soạn sẵn của bạn, bạn cần thay đổi folder thành folder dự án và sau đó khởi động server :

cd project-name

sau đó:

sails lift

Thao tác này sẽ tạo một server chạy ở 123.456.78.90 : 1337 và trang có thể trông giống như thế này (Họ đã thay đổi nó một vài lần, vì vậy tùy thuộc vào thời điểm bạn đang đọc bài viết này, nó có thể khác nhau):

Chào mừng đến với Sails.js

Tạo bộ điều khiển

Tạo bộ điều khiển thật dễ dàng, buồm CLI thực hiện tất cả những việc khó khăn cho bạn. Ví dụ: Để tạo một bộ điều khiển được gọi là user với các phương thức "index, show, edit, delete", tất cả những gì bạn phải làm là chạy lệnh sau:

sails generate controller user index show edit delete

Thao tác này sẽ tạo một file trong api/controllers tên là User Controller.js trông giống như thế này (cung cấp cho bạn các gợi ý hữu ích về chức năng và cách nó hoạt động):

/*---------------------
        :: User
        -> controller
---------------------*/
var UserController = {
  
  // To trigger this action locally, visit: 'http://localhost:port/user/index'
  index: function(req,res) {
      
        // This will render the view: /var/www/sails-test/views/user/index.ejs
        res.view();

  },

  // To trigger this action locally, visit: 'http://localhost:port/user/show'
  show: function(req,res) {
      
        // This will render the view: /var/www/sails-test/views/user/show.ejs
        res.view();

  },

  // To trigger this action locally, visit: 'http://localhost:port/user/edit'
  edit: function(req,res) {
      
        // This will render the view: /var/www/sails-test/views/user/edit.ejs
        res.view();

  },

  // To trigger this action locally, visit: 'http://localhost:port/user/delete'
  delete: function(req,res) {
      
        // This will render the view: /var/www/sails-test/views/user/delete.ejs
        res.view();

  },

};
module.exports = UserController;

Tạo mô hình

Tạo một mô hình cũng dễ dàng như tạo một bộ điều khiển với Sails.js. Bạn không phải lo lắng về việc di chuyển database , Sails.js thực hiện tất cả những điều đó cho bạn một cách thông minh. Bạn có thể sử dụng database trong file mặc định, MySQL hoặc nhiều loại database khác thông qua "bộ điều hợp" có thể được tìm thấy bằng cách tìm kiếm xung quanh hoặc xem qua repository GitHub của người tạo .

Khi tạo một mô hình, bạn có thể chỉ định các trường sẽ được thêm vào mô hình đó bằng cách thêm chúng sau đó, ở định dạng [name]:[type] .

Ví dụ: Để tạo một mô hình được gọi là user với các trường "tên, email, password ", tất cả những gì bạn phải làm là chạy lệnh sau:

sails generate model user name:string email:string password:string

Thao tác này sẽ tạo một file trong api/models được gọi là User .js trông giống như sau:

/*---------------------
        :: User
        -> model
---------------------*/
module.exports = {
    attributes: {
        
        // Simple attribute:
        // name: 'STRING',

        // Or for more flexibility:
        // phoneNumber: {
        //    type: 'STRING',
        //    defaultsTo: '555-555-5555'
        // }

        name: {
            type: 'STRING'
        },

        email: {
            type: 'STRING'
        },

        password: {
            type: 'STRING'
        },

    }
};

Tạo API kế hoạch chi tiết

Bạn có thể tạo Bộ điều khiển và Mô hình cùng lúc, cũng tạo ra một API Blueprint cho phép bạn truy cập / user và xem biểu diễn json thô của dữ liệu được lưu trữ.

sails generate user

API Blueprint giúp bạn tiết kiệm thời gian trong thời gian ngắn bằng cách tạo kết nối giữa mô hình và bộ điều khiển của bạn, cho phép bạn thêm các bản ghi mới vào database bằng cách sử dụng tuyến đường đó, ví dụ: truy cập http: // localhost / user / create? Name = John + Smith sẽ tạo một user mới với tên "John Smith" và in ra một mảng JSON của tất cả các bản ghi được tạo trong mô hình đó, vì vậy URL trước đó sẽ in ra:

{"name":"John Smith","createdAt":"2013-07-10T20:10:01.038Z","updatedAt":"2013-07-10T20:10:01.038Z","id":1}

Trên thực tế, bạn cần thay đổi hoặc thêm các phương thức mới trong bộ điều khiển, tuy nhiên, mỗi Bộ điều khiển mới đều có các phương thức create (), find (), findAll (), update () và Dest () theo mặc định. Tuy nhiên, chúng có thể bị overrides để vô hiệu hóa chúng hoặc chỉ tùy chỉnh chúng.

Dữ liệu cũng có thể được điền bằng cách thực hiện yêu cầu ĐĂNG với chuỗi JSON của dữ liệu mà bạn muốn chèn, ví dụ:

{
  name: 'John Smith'
}

Thêm tuyến đường

Các tuyến có thể được thêm vào bằng cách mở config/routes.js . Tệp được ghi chép rất tốt bằng cách sử dụng các comment , vì vậy tôi cảm thấy chỉ cần thêm một hình ảnh hơn là mô tả nó, nếu có.

Sails.js route.js

Đặt Server thành Chế độ Sản xuất

Khi đã sẵn sàng triển khai ứng dụng sang production , chuyển nó từ cổng 1337 sang 80, Sails.js cho phép bạn thực hiện việc này một cách dễ dàng.

  1. Mở config / application.js .
  2. Nếu đây là ứng dụng DUY NHẤT trên server : Trên dòng 7, Thay đổi:
    port: 1337,
    đến
    port: 80,
  3. Nếu có nhiều ứng dụng trên server và nếu bạn đang chạy NGINX: Bạn cần sửa đổi cấu hình khối server để ủy quyền cho cổng mà ứng dụng Sails.js của bạn đang chạy bằng cách thêm:
    location / {
        proxy_pass         http://127.0.0.1:1337/;
        proxy_redirect     off;
    
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
        
    (Rời khỏi Cổng cho Sails.js là 1337)
  4. Nếu có nhiều ứng dụng trên server và nếu bạn đang chạy Apache: Bạn cần phải sửa đổi cấu hình vhost để ủy quyền cổng mà ứng dụng Sails.js của bạn đang được chạy bằng cách thêm:
    ProxyRequests Off
    
    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>
    
    ProxyPass / http://127.0.0.1:1337
    ProxyPassReverse / http://127.0.0.1:1337
        
    (Rời khỏi Cổng cho Sails.js là 1337)
  5. Trên dòng 15, Thay đổi:
    environment: 'development',
    đến
    environment: 'production',
  6. Cài đặt mãi mãi bằng lệnh:
    sudo npm install -g forever
    Forever là một gói node.js cho phép ứng dụng của bạn chạy trong nền mà bạn không cần phải luôn mở terminal .
  7. Chạy:
    forever start /path/to/app.js
    để bắt đầu quá trình . Bạn có thể kiểm tra xem ứng dụng của bạn có đang chạy ẩn hay không bằng lệnh vào danh sách vĩnh viễn . Điều này sẽ liệt kê tất cả các quy trình node.js đang chạy (mỗi ứng dụng được chạy như một quy trình trên server )
Bài báo gửi bởi: Rob Brazier

Tags:

Các tin trước

Cách cài đặt Chef và Ruby với RVM trên VPS Ubuntu 2013-07-15
Cài đặt và sử dụng Ranger, Trình quản lý tệp đầu cuối, trên VPS Ubuntu 2013-07-12
Cách triển khai ứng dụng Flask trên VPS Ubuntu 2013-07-03
Cách cài đặt và sử dụng màn hình trên server cloud Ubuntu 2013-07-01
Cách thiết lập firewall với UFW trên server cloud Ubuntu và Debian 2013-06-25
Cách cài đặt Gerrit trên Ubuntu Cloud Server 2013-06-18
Cách cài đặt diễn đàn Vanilla trên Ubuntu 12.10 2013-06-14
Cách giới hạn mức sử dụng CPU trên Ubuntu 12.10 2013-06-08
Cách cài đặt diễn đàn phpBB® trên Ubuntu 12.10 2013-06-06
Cách cài đặt Simple Machines® trên Ubuntu 12.10 2013-06-06