Thứ tư, 03/02/2016 | 00:00 GMT+7

Cách chạy server phân tích cú pháp trên Ubuntu 14.04

Parse là một nền tảng Mobile Backend dưới dạng dịch vụ, thuộc sở hữu của Facebook từ năm 2013. Vào tháng 1 năm 2016, Parse thông báo rằng các dịch vụ được lưu trữ của họ sẽ ngừng hoạt động vào tháng 1 năm 2017.

Để giúp user chuyển đổi khỏi dịch vụ, Parse đã phát hành version open-souce của chương trình backend , được gọi là Parse Server , có thể được triển khai cho các môi trường chạy Node.js và MongoDB.

Hướng dẫn này bổ sung tài liệu chính thức với hướng dẫn chi tiết để cài đặt Server phân tích cú pháp trên hệ thống Ubuntu 14.04, chẳng hạn như DigitalOcean Server. Đây là mục đích đầu tiên và quan trọng nhất là điểm khởi đầu cho các nhà phát triển phân tích cú pháp, những người đang cân nhắc việc di chuyển ứng dụng của họ và nên được đọc cùng với Hướng dẫn server phân tích cú pháp chính thức.

Yêu cầu

Hướng dẫn này giả định bạn có hệ thống Ubuntu 14.04 sạch, được cấu hình với user không phải root có quyền sudo cho các việc quản trị. Bạn có thể cần xem lại các hướng dẫn trong loạt Danh sách kiểm tra server Ubuntu 14.04 Mới .

Ngoài ra, hệ thống của bạn cần một version MongoDB đang chạy. Bạn có thể bắt đầu bằng cách làm qua Cách cài đặt MongoDB trên Ubuntu 14.04 . MongoDB cũng có thể được cài đặt tự động trên Server mới bằng cách thêm tập lệnh này vào Dữ liệu user của nó khi tạo nó. Hãy xem hướng dẫn này để tìm hiểu thêm về Dữ liệu user Server.

Sau khi hệ thống của bạn được cấu hình với user sudo và MongoDB, hãy quay lại hướng dẫn này và tiếp tục.

Bước 1 - Cài đặt Node.js và Công cụ phát triển

Bắt đầu bằng cách thay đổi đường dẫn làm việc hiện tại đến folder chính của user sudo của bạn:

  • cd ~

NodeSource cung cấp một repository Apt cho các gói Debian và Ubuntu Node.js. Ta sẽ sử dụng nó để cài đặt Node.js. NodeSource cung cấp lệnh cài đặt cho bản phát hành ổn định mới nhất (v5.5.0 tại thời điểm viết bài này), bạn có thể tìm thấy tập lệnh này trong hướng dẫn cài đặt . Download script với curl :

  • curl -sL https://deb.nodesource.com/setup_5.x -o nodesource_setup.sh

Bạn có thể xem lại nội dung của tập lệnh này bằng cách mở nó bằng nano hoặc editor mà bạn chọn:

  • nano ./nodesource_setup.sh

Tiếp theo, chạy nodesource_setup.sh . Tùy chọn -E để sudo yêu cầu nó bảo toàn các biến môi trường của user để có thể truy cập chúng bằng script:

  • sudo -E bash ./nodesource_setup.sh

Sau khi tập lệnh hoàn tất, repository NodeSource sẽ có sẵn trên hệ thống. Ta có thể sử dụng apt-get để cài đặt gói nodejs . Ta cũng sẽ cài đặt gói siêu build-essential , cung cấp một loạt các công cụ phát triển có thể hữu ích sau này và hệ thống kiểm soát version Git để truy xuất các dự án từ GitHub:

  • sudo apt-get install -y nodejs build-essential git

Bước 2 - Cài đặt ứng dụng server phân tích cú pháp mẫu

Parse Server được thiết kế để sử dụng cùng với Express , một khung ứng dụng web phổ biến cho Node.js, cho phép các thành phần phần mềm trung gian tuân theo một API xác định được gắn trên một đường dẫn nhất định. Kho lưu trữ ví dụ phân tích cú pháp- server chứa một triển khai ví dụ sơ khai của mẫu này.

Truy xuất repository bằng git :

  • git clone https://github.com/ParsePlatform/parse-server-example.git

Nhập folder parse-server-example mà bạn vừa sao chép:

  • cd ~/parse-server-example

Sử dụng npm để cài đặt các phần phụ thuộc, bao gồm cả parse-server , trong folder hiện tại:

  • npm install

npm sẽ tìm nạp tất cả các module được yêu cầu bởi parse-server và lưu trữ chúng trong ~/parse-server-example/node_modules .

Bước 3 - Kiểm tra ứng dụng mẫu

Sử dụng npm để bắt đầu dịch vụ. Thao tác này sẽ chạy một lệnh được xác định trong thuộc tính start của package.json . Trong trường hợp này, nó chạy node index.js :

  • npm start
Output
> parse-server-example@1.0.0 start /home/sammy/parse-server-example > node index.js DATABASE_URI not specified, falling back to localhost. parse-server-example running on port 1337.

Bạn có thể chấm dứt ứng dụng đang chạy bất kỳ lúc nào bằng cách nhấn Ctrl-C .

Ứng dụng Express được định nghĩa trong index.js sẽ chuyển các yêu cầu HTTP đến module parse-server module này sẽ giao tiếp với version MongoDB của bạn và gọi các hàm được xác định trong ~/parse-server-example/cloud/main.js

Trong trường hợp này, điểm cuối cho lệnh gọi API server phân tích cú pháp mặc định là:

http:// your_server_IP /parse

Trong một terminal khác, bạn có thể sử dụng curl để kiểm tra điểm cuối này. Đảm bảo rằng bạn đã đăng nhập vào server của bạn trước, vì các lệnh này tham chiếu đến localhost thay vì một địa chỉ IP cụ thể.

Tạo bản ghi bằng cách gửi yêu cầu POST với tiêu đề X-Parse-Application-Id để xác định ứng dụng, cùng với một số dữ liệu được định dạng là JSON:

curl -X POST \   -H "X-Parse-Application-Id: myAppId" \   -H "Content-Type: application/json" \   -d '{"score":1337,"playerName":"Sammy","cheatMode":false}' \   http://localhost:1337/parse/classes/GameScore 
Output
{"objectId":"fu7t4oWLuW","createdAt":"2016-02-02T18:43:00.659Z"}

Dữ liệu bạn đã gửi được lưu trữ trong MongoDB và có thể được truy xuất bằng cách sử dụng curl để gửi yêu cầu GET :

  • curl -H "X-Parse-Application-Id: myAppId" http://localhost:1337/parse/classes/GameScore
Output
{"results":[{"objectId":"GWuEydYCcd","score":1337,"playerName":"Sammy","cheatMode":false,"updatedAt":"2016-02-02T04:04:29.497Z","createdAt":"2016-02-02T04:04:29.497Z"}]}

Chạy một hàm được định nghĩa trong ~/parse-server-example/cloud/main.js :

curl -X POST \   -H "X-Parse-Application-Id: myAppId" \   -H "Content-Type: application/json" \   -d '{}' \   http://localhost:1337/parse/functions/hello 
Output
{"result":"Hi"}

Bước 4 - Cấu hình ứng dụng mẫu

Trong terminal ban đầu của bạn, nhấn Ctrl-C để dừng version đang chạy của ứng dụng Server phân tích cú pháp.

Như đã viết, tập lệnh mẫu có thể được cấu hình bằng cách sử dụng sáu biến môi trường :

Biến đổi Sự miêu tả
DATABASE_URI URI kết nối MongoDB, như mongodb://localhost:27017/dev
CLOUD_CODE_MAIN Đường dẫn đến file có chứa các chức năng Mã cloud phân tích cú pháp , như cloud/main.js
APP_ID Mã định danh chuỗi cho ứng dụng của bạn, như myAppId
MASTER_KEY Khóa chính bí mật cho phép bạn vượt qua tất cả các cơ chế bảo mật của ứng dụng
PARSE_MOUNT Đường dẫn mà API server /parse sẽ được phân phát, như /parse
PORT Cổng mà ứng dụng sẽ nghe, như 1337

Bạn có thể đặt bất kỳ giá trị nào trong số này trước khi chạy tập lệnh bằng lệnh export . Ví dụ:

  • export APP_ID=fooApp

Rất đáng để đọc qua nội dung của index.js , nhưng để có được bức tranh rõ ràng hơn về những gì đang xảy ra, bạn cũng có thể viết version ví dụ ngắn hơn của riêng mình. Mở một tập lệnh mới trong editor :

  • nano my_app.js

Và dán những thứ sau, thay đổi các giá trị được đánh dấu nếu muốn:

~ / parse-server-example / my_app.js
var express = require('express'); var ParseServer = require('parse-server').ParseServer;  // Configure the Parse API var api = new ParseServer({   databaseURI: 'mongodb://localhost:27017/dev',   cloud: __dirname + '/cloud/main.js',   appId: 'myOtherAppId',   masterKey: 'myMasterKey' });  var app = express();  // Serve the Parse API on the /parse URL prefix app.use('/myparseapp', api);  // Listen for connections on port 1337 var port = 9999; app.listen(port, function() {     console.log('parse-server-example running on port ' + port + '.'); }); 

Thoát và lưu file , sau đó chạy nó với Node.js:

  • node my_app.js
Output
parse-server-example running on port 9999.

, bạn có thể nhấn Ctrl-C bất kỳ lúc nào để dừng my_app.js . Như đã viết ở trên, mẫu my_app.js sẽ hoạt động gần giống với index.js được cung cấp, ngoại trừ việc nó sẽ lắng nghe trên cổng 9999, với Server phân tích cú pháp được gắn tại /myparseapp , do đó URL điểm cuối trông giống như vậy:

http: // IP server của bạn : 9999 / myparseapp

Và nó có thể được kiểm tra với độ curl như vậy:

  • curl -H "X-Parse-Application-Id: myOtherAppId" http://localhost:9999/myparseapp/classes/GameScore`

Kết luận

Đến đây bạn sẽ biết những điều cơ bản về chạy một ứng dụng Node.js như Parse Server trong môi trường Ubuntu. Di chuyển hoàn toàn một ứng dụng từ Parse có thể là một công việc liên quan hơn, yêu cầu thay đổi mã và lập kế hoạch cẩn thận về cơ sở hạ tầng.

Để biết thêm chi tiết về quy trình này, hãy xem hướng dẫn thứ hai trong loạt bài này, Cách di chuyển một ứng dụng phân tích cú pháp sang server phân tích cú pháp trên Ubuntu 14.04 . Bạn cũng nên tham khảo Hướng dẫn server phân tích cú pháp chính thức, đặc biệt là phần di chuyển ứng dụng phân tích cú pháp hiện có .


Tags:

Các tin liên quan

Cách thiết lập server VNC trên Debian 8
2015-09-29
Cách cấu hình dịch vụ Linux để khởi động tự động sau khi gặp sự cố hoặc khởi động lại - Phần 2: Tham khảo
2015-09-04
Cách thiết lập server IRC trên Ubuntu 14.04 với InspIRCd 2.0 và Shaltúre
2015-08-26
Cách chuyển tiếp cổng thông qua cổng Linux với Iptables
2015-08-20
Cách cấu hình dịch vụ Linux để khởi động tự động sau khi gặp sự cố hoặc khởi động lại - Phần 1: Ví dụ thực tế
2015-08-19
Cách sử dụng Hệ thống kiểm toán Linux trên CentOS 7
2015-07-16
Cách sử dụng Hệ thống kiểm toán Linux trên CentOS 7
2015-07-16
Thiết lập ban đầu của server Fedora 22
2015-07-08
Cách thiết lập Shiny Server trên Ubuntu 14.04
2015-06-28
Cách backup server LAMP bằng Bacula trên Ubuntu 14.04
2015-06-11