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.
Kiểm tra trạng thái của tường lửa.
Bạn sẽ thấy nội dung tương tự như sau.
Cho phép cổng HTTP và HTTPs.
Kiểm tra lại trạng thái để xác nhận.
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ó.
Làm mới thiết bị đầu cuối.
Xác minh rằng NVM đã được cài đặt.
Bạn sẽ thấy đầu ra sau khi cài đặt thành công.
Xác minh rằng Node.js đã được cài đặt.
Xác minh rằng khung Sails.js đã được cài đặt.
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.
Bạn sẽ nhận được đầu ra sau.
Bạn sẽ nhận được hai tùy chọn sau.
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.
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.
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.
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.
Bạn sẽ nhận được đầu ra sau khi khởi động ứng dụng thành công.
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
Mã:
Trạng thái: activeTo Action From-- ------ ----OpenSSH ALLOW AnywhereOpenSSH (v6) ALLOW Anywhere (v6)
Mã:
$ sudo ufw allow http$ sudo ufw allow https
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
Mã:
$ source ~/.bashrc
Mã:
$ command -v nvm
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
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
Mã:
$ sails --version1.5.3
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 [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
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)
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`!
Mã:
$ cd howtoforge-app
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
Mã:
$ sails lift
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