Cách cài đặt Sails.js MVC Framework với Nginx trên Debian 11

theanh

Administrator
Nhân viên
Sails.js là một framework Node.js full-stack được xây dựng trên Express socket.io. Đây là một framework MVC mạnh mẽ lấy cảm hứng từ Ruby on Rails, nhưng hỗ trợ API hướng dữ liệu và có khả năng mở rộng, cũng như kiến trúc hướng dịch vụ. Sails.js là một framework phù hợp để xây dựng các ứng dụng hiện đại và cấp doanh nghiệp, đặc biệt là các ứng dụng hướng dữ liệu.

Sails.js cung cấp API REST tự động tạo và một ORM mạnh mẽ có tên là Waterline cho phép các nhà phát triển sử dụng bất kỳ cơ sở dữ liệu nào như MySQL, PostgreSQL, MongoDB, Redis, v.v.

Điều kiện tiên quyết​

Trong bài viết này, bạn sẽ tìm hiểu cách cài đặt framework Sails.js trên Debian 11 Bullseye. Ngoài ra, bạn sẽ học cách tạo một dự án mới bằng Sails.js và thiết lập Nginx làm proxy ngược cho ứng dụng Sails.js.

Để bắt đầu, hãy đảm bảo bạn có đủ các yêu cầu sau.
  • Hệ điều hành: Debian 11 Bullseye
  • Quyền root
Bây giờ chúng ta hãy chuyển sang phần cài đặt.

Cài đặt công cụ phát triển​

Đầu tiên, bạn sẽ cài đặt một số công cụ phát triển như build-essentials và GCC vào hệ thống Debian của mình.

1. Đăng nhập vào máy chủ của bạn và chạy lệnh apt bên dưới để cập nhật kho lưu trữ.
Mã:
sudo apt update
2. Tiếp theo, thực hiện lệnh sau để cài đặt các công cụ phát triển.
Mã:
sudo apt install curl build-essential gcc g++ make
Gõ 'y' để xác nhận cài đặt và nhấn 'Enter' để tiếp tục.

Cài đặt Node.js LTS và Trình quản lý gói Yarn​

Trước khi cài đặt Sails.js, bạn phải cài đặt Node.js vào hệ thống Debian của mình.

Trong bước này, bạn sẽ cài đặt Node.js bằng kho lưu trữ nodesource.com. Và bạn sẽ cài đặt phiên bản LTS mới nhất Node.js 16.x.

1. Thực hiện lệnh sau để thêm kho lưu trữ Node.js.
Mã:
curl -fsSL https://deb.nodesource.com/setup_16.x | bash -
Lệnh sẽ tự động thêm kho lưu trữ Node.js và làm mới kho lưu trữ trên hệ thống của bạn.

Cuối cùng, bạn sẽ thấy các thông báo đầu ra gợi ý bạn nên cài đặt trình quản lý gói Yarn.



2. Thêm khóa GPG và kho lưu trữ yarn bằng lệnh sau.
Mã:
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
3. Tiếp theo, hãy cập nhật kho lưu trữ Debian của bạn, sau đó cài đặt trình quản lý gói Node.js và Yarn bằng lệnh bên dưới.
Mã:
sudo apt update && sudo apt install nodejs yarn
Gõ 'y' để xác nhận cài đặt và nhấn 'Enter' để tiếp tục.

4. Nếu quá trình cài đặt Node.js và yarn hoàn tất, hãy xác minh phiên bản Node.js và phiên bản yarn bằng lệnh sau.
Mã:
node --version
yarn --version
Bạn sẽ thấy đầu ra tương tự như bên dưới.
Mã:
# nodejs version
v16.13.1

# yarn version
1.22.15

Cài đặt Sails.js bằng Trình quản lý gói Yarn​

Trong bước này, bạn sẽ cài đặt phiên bản Sails.js mới nhất bằng trình quản lý gói yarn.

1. Thực hiện lệnh sau để cài đặt Sails.js trên toàn cầu hoặc trên toàn hệ thống.
Mã:
sudo yarn global add sails
Lệnh này sẽ thêm tệp nhị phân 'sails' vào thư mục '$PATH' của bạn.

2. Chạy lệnh 'sails' bên dưới để xác minh phiên bản.
Mã:
sails --version
Trong ví dụ này, chúng tôi đã cài đặt Sails.js phiên bản 1.5.
Mã:
1.5.0
3. Bây giờ hãy kiểm tra trang trợ giúp cho lệnh 'sails' như bên dưới.
Mã:
sails --help
Dưới đây là tất cả các tùy chọn có sẵn cho lệnh 'sails'.
Mã:
Cách sử dụng: sails [lệnh]


 Tùy chọn:

 -v, --version xuất số phiên bản
 -h, --help xuất thông tin sử dụng


 Lệnh:

 version
 lift|l [tùy chọn]
 new [tùy chọn] [path_to_new_app]
 generate
 upgrade
 migrate
 console|c [tùy chọn]
 www
 debug (cho Node v5 trở xuống)
 inspect (cho Node v6 trở lên)
 run
 test
 lint
 deploy
 debug-console|dc
 help [lệnh]
Bây giờ hãy chuyển sang bước tiếp theo để tạo một Dự án Sails.js.

Tạo dự án đầu tiên với Sails.js​

Trong bước này, bạn sẽ học cách bắt đầu một dự án mới bằng Sails.js. Vì lý do bảo mật, bạn nên bắt đầu một dự án Sails.js mới với người dùng không phải root.

1. Đăng nhập vào người dùng của bạn bằng lệnh sau.
Mã:
su - username
2. Thực hiện lệnh 'sails' bên dưới để tạo ứng dụng mới. Trong ví dụ này, chúng ta sẽ tạo ứng dụng 'testapp'.
Mã:
sails new testapp
Chọn mẫu cho ứng dụng của bạn.

Nhập số '1' để chọn mẫu ứng dụng web đầy đủ bao gồm một số tính năng cần thiết như xác thực, trang đăng nhập, v.v.

Nhập số '2' để chọn ứng dụng Sails.js cổ điển và trống.



Khi ứng dụng của bạn được tạo, bạn sẽ thấy thông báo đầu ra như 'Đã tạo ứng dụng Sails mới `testapp`!'. Và bạn sẽ nhận được một thư mục mới 'testapp' trên thư mục gốc của mình.

3. Thay đổi thư mục làm việc của bạn thành 'testapp' và chạy ứng dụng Sails.js bằng lệnh như bên dưới.
Mã:
cd testapp/
sails lift
Bây giờ bạn sẽ thấy một thông báo đầu ra tương tự như bên dưới.



Ứng dụng Sails.js của bạn đang chạy trên 'development' với cổng mặc định '1337'.

4. Mở trình duyệt web và nhập địa chỉ IP của bạn với cổng '1337' trên thanh địa chỉ.


Bạn sẽ thấy trang chỉ mục mặc định của ứng dụng web Sails.js.



Bây giờ hãy quay lại thiết bị đầu cuối của bạn và nhấn 'Ctrl+C' để dừng ứng dụng Sails.js.

Chuyển sang bước tiếp theo để thiết lập ứng dụng Sails.js của bạn dưới dạng dịch vụ systemd.

Thiết lập ứng dụng Sails.app dưới dạng dịch vụ Systemd​

Trong bước này, bạn sẽ tạo một tệp dịch vụ systemd mới cho ứng dụng Sails.js.

1. Tạo tệp dịch vụ mới 'testapp.service' bằng trình chỉnh sửa nano.
Mã:
sudo nano /etc/systemd/system/testapp.service
Sao chép và dán cấu hình sau. Và đảm bảo thay đổi 'User=johndoe' bằng người dùng của bạn và 'WorkingDirectory=/home/johndoe/testapp' bằng thư mục dự án của bạn.
Mã:
[Unit]
After=network.target

[Service]
Type=simple
User=johndoe
WorkingDirectory=/home/johndoe/testapp
ExecStart=/usr/local/bin/sails lift
Restart=on-failure

[Install]
WantedBy=multi-user.target
Lưu cấu hình và thoát.

2. Tiếp theo, tải lại trình quản lý systemd để áp dụng cấu hình mới bằng lệnh sau.
Mã:
sudo systemctl daemon-reload
3. Khởi động ứng dụng Sails.js của bạn bằng lệnh sau.
Mã:
sudo systemctl start testapp
Xác minh dịch vụ ứng dụng Sails.js của bạn bằng lệnh bên dưới.
Mã:
sudo systemctl status testapp
Và bạn sẽ thấy một thông báo đầu ra tương tự như bên dưới.



Dịch vụ ứng dụng Sails.js đang hoạt động và chạy. đang chạy trên môi trường 'phát triển' mặc định với cổng mặc định '1337'.

Chuyển sang bước tiếp theo để thiết lập Nginx làm proxy ngược cho ứng dụng Sails.js của bạn.

Thiết lập Nginx làm Proxy ngược cho Sails.js​

Trong bước này, bạn sẽ cài đặt và định cấu hình máy chủ web Nginx làm proxy ngược cho ứng dụng Sails.js.

1. Trước tiên, hãy cài đặt các gói Nginx bằng lệnh apt bên dưới.
Mã:
sudo apt install nginx -y
2. Sau khi cài đặt Nginx hoàn tất, hãy tạo cấu hình chặn máy chủ mới '/etc/nginx/sites-available/testapp' bằng trình soạn thảo nano.
Mã:
sudo nano /etc/nginx/sites-available/testapp
Thay đổi tên miền 'dev.example.io' bằng địa chỉ IP hoặc tên miền cục bộ của bạn.
Mã:
server {
listen 80;
server_name dev.example.io;
location / {
proxy_pass http://localhost:1337/;
proxy_set_header Host $host;
proxy_buffering off;
 }
}
lưu cấu hình và thoát.

3. Tiếp theo, kích hoạt các khối máy chủ 'testapp' và xác minh cấu hình Nginx bằng lệnh sau.
Mã:
sudo ln -s /etc/nginx/sites-available/testapp /etc/nginx/sites-enabled/
sudo nginx -t
Nếu bạn không gặp bất kỳ lỗi nào trong cấu hình Nginx, bạn sẽ thấy thông báo đầu ra là 'cú pháp ok'.

4. Bây giờ hãy khởi động lại dịch vụ Nginx để áp dụng cấu hình khối máy chủ mới.
Mã:
sudo systemctl restart nginx


5. Cuối cùng, bạn cần cho phép người dùng 'www-data' truy cập ứng dụng Sails.js của bạn.

Thay đổi thư mục làm việc của bạn thành '/home/johndoe' bằng lệnh sau. Trong ví dụ này, chúng tôi sử dụng người dùng 'johndoe'.
Mã:
cd /home/johndoe/
Thay đổi quyền sở hữu và quyền của thư mục ứng dụng Sails.js bằng lệnh bên dưới.
Mã:
sudo chown -R johndoe:www-data testapp
sudo chmod -R g+rw testapp
Bây giờ bạn đã hoàn tất cấu hình Nginx làm proxy ngược cho ứng dụng Sails.js.

Xác minh ứng dụng Sails.js của bạn​

1. Trên máy của bạn, hãy chỉnh sửa cấu hình 'hosts' bằng lệnh sau.
Mã:
sudo nano /etc/hosts
Sao chép và dán cấu hình sau. Đảm bảo thay đổi địa chỉ IP và tên miền bằng tên miền của riêng bạn.
Mã:
192.168.1.50 dev.example.io
Lưu cấu hình và thoát.

2. Tiếp theo, hãy mở trình duyệt web của bạn và nhập tên miền cục bộ của ứng dụng Sails.js của bạn như bên dưới.


Bạn sẽ thấy chỉ mục mặc định của ứng dụng web Sails.js.



3. Bây giờ hãy nhấp vào nút 'Đăng ký' và bạn sẽ nhận được trang để tạo tài khoản.



Nhập thông tin người dùng và mật khẩu mới, sau đó nhấp vào nút 'Tạo tài khoản'.

4. Sau khi đăng nhập, bạn sẽ thấy thông báo chào mừng từ ứng dụng Sails.js như bên dưới.


Kết luận​

Xin chúc mừng! Bạn đã học thành công cách cài đặt khung Sails.js trên Debian 11 Bullseye. Ngoài ra, bạn đã học cách tạo ứng dụng Sails.js và thiết lập ứng dụng Sails.js dưới dạng dịch vụ systemd.

Cuối cùng, bạn đã học cách thiết lập Nginx dưới dạng proxy ngược cho ứng dụng Sails.js của mình.
 
Back
Bên trên