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.
Để bắt đầu, hãy đảm bảo bạn có đủ các yêu cầu sau.
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ữ.
2. Tiếp theo, thực hiện lệnh sau để cài đặt các công cụ phát triển.
Gõ 'y' để xác nhận cài đặt và nhấn 'Enter' để tiếp tục.
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.
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.
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.
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.
Bạn sẽ thấy đầu ra tương tự như bên dưới.
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.
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.
Trong ví dụ này, chúng tôi đã cài đặt Sails.js phiên bản 1.5.
3. Bây giờ hãy kiểm tra trang trợ giúp cho lệnh 'sails' như bên dưới.
Dưới đây là tất cả các tùy chọn có sẵn cho lệnh 'sails'.
Bây giờ hãy chuyển sang bước tiếp theo để tạo một Dự án Sails.js.
1. Đăng nhập vào người dùng của bạn bằng lệnh sau.
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'.
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.
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.
1. Tạo tệp dịch vụ mới 'testapp.service' bằng trình chỉnh sửa nano.
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.
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.
3. Khởi động ứng dụng Sails.js của bạn bằng lệnh sau.
Xác minh dịch vụ ứng dụng Sails.js của bạn bằng lệnh bên dưới.
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.
1. Trước tiên, hãy cài đặt các gói Nginx bằng lệnh apt bên dưới.
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.
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.
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.
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.
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'.
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.
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.
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.
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.
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.
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
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
Mã:
sudo apt install curl build-essential gcc g++ make
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 -
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
Mã:
sudo apt update && sudo apt install nodejs yarn
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
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
2. Chạy lệnh 'sails' bên dưới để xác minh phiên bản.
Mã:
sails --version
Mã:
1.5.0
Mã:
sails --help
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]
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
Mã:
sails new testapp
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
Ứ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
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
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
Mã:
sudo systemctl start testapp
Mã:
sudo systemctl status testapp
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
Mã:
sudo nano /etc/nginx/sites-available/testapp
Mã:
server {
listen 80;
server_name dev.example.io;
location / {
proxy_pass http://localhost:1337/;
proxy_set_header Host $host;
proxy_buffering off;
}
}
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
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/
Mã:
sudo chown -R johndoe:www-data testapp
sudo chmod -R g+rw testapp
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
Mã:
192.168.1.50 dev.example.io
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.