Cách cài đặt Sails.js Framework với Nginx trên Ubuntu 22.04

theanh

Administrator
Nhân viên
Sails.js là một framework JavaScript MVC đầy đủ cho Node.js. Nó được sử dụng để phát triển các ứng dụng web thời gian thực. Nó được lấy cảm hứng từ Ruby on Rails, nhưng hỗ trợ API theo hướng dữ liệu và kiến trúc hướng dịch vụ có thể mở rộng. Nó sử dụng một Object-Relational Mapping (ORM) mạnh mẽ có tên là Waterline cho phép nó được sử dụng với các cơ sở dữ liệu như MySQL, PostgreSQL, MongoDB, Redis, v.v.

Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt khung Sails.js để tạo ứng dụng thử nghiệm và triển khai ứng dụng đó bằng máy chủ Nginx cùng với Let's Encrypt SSL trên máy chủ Ubuntu 22.04.

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


  • Một máy chủ chạy Ubuntu 22.04.

  • Một người dùng không phải root có quyền sudo.

  • Tường lửa đơn giản (UFW) được bật và đang chạy.

  • Một tên miền đủ điều kiện trỏ đến máy chủ. Đối với hướng dẫn này, chúng tôi sẽ sử dụng tên miền sails.example.com.

  • Mọi thứ đều được cập nhật.
Mã:
$ sudo apt update && sudo apt upgrade

Bước 1 - Cấu hình Tường lửa​

Bước đầu tiên trước khi cài đặt bất kỳ gói nào là cấu hình tường lửa để cho phép kết nối HTTP và HTTPS.

Kiểm tra trạng thái của tường lửa.
Mã:
$ sudo ufw status
Bạn sẽ thấy nội dung tương tự như sau.
Mã:
Trạng thái: activeTo Action From-- ------ ----OpenSSH ALLOW AnywhereOpenSSH (v6) ALLOW Anywhere (v6)
Cho phép cổng HTTP và HTTPs.
Mã:
$ sudo ufw allow http$ sudo ufw allow https
Kiểm tra lại trạng thái để xác nhận.
Mã:
$ sudo ufw statusTrạng thái: activeĐến Hành động Từ-- ------ ----OpenSSH ALLOW Anywhere80/tcp ALLOW Anywhere443 ALLOW AnywhereOpenSSH (v6) ALLOW Anywhere (v6)80/tcp (v6) ALLOW Anywhere (v6)443 (v6) ALLOW Anywhere (v6)

Bước 2 - Cài đặt Node Version Manager (NVM)​

Chúng ta sẽ cài đặt Node bằng ứng dụng Node Version Manager (nvm). Bạn có thể sử dụng NVM để cài đặt nhiều phiên bản Node và chuyển đổi giữa chúng một cách dễ dàng. Chạy lệnh sau để tải xuống và cài đặt NVM.

Kiểm tra phiên bản NVM mới nhất từ trang phát hành Github. Tại thời điểm viết hướng dẫn này, v0.39.1 là phiên bản mới nhất hiện có.
Mã:
$ NVMVERSION=0.39.1$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/$NVMVERSION/install.sh | bash
Làm mới thiết bị đầu cuối.
Mã:
$ source ~/.bashrc
Xác minh rằng NVM đã được cài đặt.
Mã:
$ command -v nvm
Bạn sẽ thấy đầu ra sau khi cài đặt thành công.
Mã:
nvm

Bước 3 - Cài đặt Node.js​

Chúng tôi sẽ cài đặt phiên bản mới nhất của bản phát hành LTS (Hỗ trợ dài hạn) của Node.js. Chạy lệnh sau để thực hiện điều đó.
Mã:
$ nvm install --lts
Xác minh rằng Node.js đã được cài đặt.
Mã:
$ node --versionv16.17.0

Bước 4 - Cài đặt Sails.js​

Bây giờ Node.js đã được cài đặt, đã đến lúc cài đặt khung Sails.js. Chạy lệnh sau để cài đặt toàn cục.
Mã:
$ npm -g install sails
Xác minh rằng khung Sails.js đã được cài đặt.
Mã:
$ sails --version1.5.3
Bạn có thể kiểm tra các lệnh khác có sẵn với ứng dụng dòng lệnh sails bằng cách sử dụng cờ --help.
Mã:
$ sails --help
Bạn sẽ nhận được đầu ra sau.
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 [command]

Bước 5 - Tạo ứng dụng Demo​

Chạy lệnh sau để tạo ứng dụng demo.
Mã:
$ sails new howtoforge-app
Bạn sẽ nhận được hai tùy chọn sau.
Mã:
Chọn mẫu cho ứng dụng Sails mới của bạn: 1. Ứng dụng web · Dự án có thể mở rộng với xác thực, đăng nhập và khôi phục mật khẩu 2. Trống · Ứng dụng Sails trống, do bạn cấu hình (nhập "?" để được trợ giúp hoặc  để hủy)
Bạn có thể nhập 1 để sử dụng mẫu được xác định trước cho ứng dụng hoàn chỉnh với xác thực, trang đăng nhập và tính năng khôi phục mật khẩu. Nếu bạn muốn bắt đầu với một trang trống, hãy chọn tùy chọn 2.

Chúng tôi sẽ chọn tùy chọn 1. Bạn sẽ cần đợi vài phút để quá trình hoàn tất.
Mã:
? 1 info: Đang cài đặt các phụ thuộc...Nhấn CTRL+C để hủy.(để bỏ qua bước này trong tương lai, hãy sử dụng --fast) info: Đã tạo ứng dụng Sails mới `howtoforge-app`!
Chuyển đến thư mục làm việc của ứng dụng mới tạo. Tên thư mục giống với tên ứng dụng của bạn.
Mã:
$ cd howtoforge-app
Kiểm tra danh sách thư mục. Thư mục sẽ có tất cả các tệp và gói cần thiết được cài đặt để bạn bắt đầu sử dụng ứng dụng.
Mã:
$ lstổng cộng 944drwxrwxr-x 9 navjot navjot 4096 23 tháng 8 07:14 .drwxr-x--- 8 navjot navjot 4096 23 tháng 8 07:13 ..drwxrwxr-x 8 navjot navjot 4096 23 tháng 8 07:13 api-rw-rw-r-- 1 navjot navjot 1841 Ngày 23 tháng 8 07:13 app.jsdrwxrwxr-x 8 navjot navjot 4096 ngày 23 tháng 8 07:13 nội dungdrwxrwxr-x 4 navjot navjot 4096 ngày 23 tháng 8 07:13 cấu hình-rw-rw-r-- 1 điều hướng điều hướng 1046 Ngày 23 tháng 8 07:13 .editorconfig-rw-rw-r-- 1 điều hướng navjot 44 ngày 23 tháng 8 07:13 .eslintignore-rw-rw-r-- 1 navjot navjot 4228 23 tháng 8 07:13 .eslintrc-rw-rw-r-- 1 navjot navjot 3531 23 tháng 8 07:13 .gitignore-rw-rw-r-- 1 navjot navjot 669 Ngày 23 tháng 8 07:13 Gruntfile.js-rw-rw-r-- 1 navjot navjot 709 23 tháng 8 07:13 .htmlhintrc-rw-rw-r-- 1 navjot navjot 2162 Ngày 23 tháng 8 07:13 .lesshintrcdrwxrwxr-x 510 navjot navjot 20480 ngày 23 tháng 8 07:14 node_modules-rw-rw-r-- 1 navjot navjot 369 ngày 23 tháng 8 07:13 .npmrc-rw-rw-r-- 1 navjot navjot 6151 23 tháng 8 07:13 pack.json-rw-rw-r-- 1 navjot navjot 854958 23 tháng 8 07:14 package-lock.json-rw-rw-r-- 1 navjot navjot 1732 Ngày 23 tháng 8 07:13 README.md-rw-rw-r-- 1 navjot navjot 123 ngày 23 tháng 8 07:13 .sailsrcdrwxrwxr-x 2 navjot navjot 4096 23 tháng 8 07:13 scriptsdrwxrwxr-x 4 navjot navjot 4096 23 tháng 8 07:13 tasksdrwxrwxr-x 5 navjot navjot 4096 23 tháng 8 07:13 views
Chạy ứng dụng Sails. Lệnh sau sẽ khởi động ứng dụng ở chế độ phát triển. Sails.js sử dụng công cụ Grunt để giám sát thư mục /assets. Nếu bạn thay đổi bất kỳ thứ gì trong thư mục đó, nó sẽ tự động được phản ánh trong trình duyệt. Bạn cũng có thể thay đổi tệp chế độ xem của mình mà không cần khởi động lại Sails vì các mẫu không được lưu trong bộ nhớ đệm.
Mã:
$ sails lift
Bạn sẽ nhận được đầu ra sau khi khởi động ứng dụng thành công.
Mã:
info: Đang khởi chạy ứng dụng... info: Đang khởi tạo hook dự án... (`api/hooks/custom/`) info: Đang khởi tạo hook `apianalytics`... (các yêu cầu đến các tuyến được giám sát sẽ được ghi lại!) info: ·• Đang tự động di chuyển... (alter) info: Đợi một lát, việc này có thể mất một lúc. info: ? Tự động di chuyển hoàn tất.debug: Đang chạy tập lệnh bootstrap v0... (có vẻ như đây là lần đầu tiên bootstrap chạy trên máy tính này) info: info: .-..-.. info: info: Sails
 
Back
Bên trên