Triển khai ứng dụng Meteor trên Ubuntu

Bài viết này sẽ hướng dẫn bạn triển khai ứng dụng Meteor của bạn lên VPS Vultr chạy Ubuntu 14.04. Nó cũng có thể hoạt động trên các bản phân phối Linux khác (cố gắng tự chịu rủi ro).

Một anh chàng khéo léo tên Arunoda Susiripala, người khá tích cực trong cộng đồng sao băng, đã phát triển một công cụ triển khai có tên mupx (viết tắt của "Meteor Up X"), giúp triển khai ứng dụng Meteor của bạn lên máy chủ từ xa thông qua ssh. Mupx là sự kế thừa cho mup. Chúng tôi sẽ hướng dẫn bạn qua quy trình từ đầu đến cuối. Mup thực hiện hầu hết các công việc nặng nhọc, may mắn thay, vì vậy đây sẽ là một làn gió!

Bước đầu tiên của chúng tôi là cài đặt mupx. Bạn sẽ làm điều này trên máy trạm phát triển của bạn, không phải máy chủ VPS của bạn! Đảm bảo bạn đã cài đặt Node.js và chạy:

$ npm install -g mupx

Sau khi cài đặt hoàn tất, hãy vào thư mục dự án Meteor của bạn, vd /projects/myAppvà chạy các lệnh sau:

$ mkdir .deploy
$ cd $_
$ mupx init

Đối với những người không quen thuộc với $_cú pháp, đó là lối tắt cho đối số cuối cùng được sử dụng trong lệnh. Vì vậy, trong trường hợp này, cd $_thực hiện như cd .deploy.

Bạn sẽ thấy đầu ra sau:

Meteor Up: Production Quality Meteor Deployments
------------------------------------------------
Configuration file : mup.json
Settings file      : settings.json

Empty Project Initialized!

Quá trình khởi tạo tạo hai tệp mup.jsonsettings.json. Chúng tôi sẽ để lại tập tin sau một mình ngay bây giờ. Đi trước và mở ra mup.json. Tại thời điểm viết bài viết này, mặc định mup.jsontrông như thế này:

{
  // Server authentication info
  "servers": [
    {
      "host": "hostname",
      "username": "root",
      "password": "password",
      // or pem file (ssh based authentication)
      // WARNING: Keys protected by a passphrase are not supported
      //"pem": "~/.ssh/id_rsa"
      // Also, for non-standard ssh port use this
      //"sshOptions": { "port" : 49154 },
      // server specific environment variables
      "env": {}
    }
  ],

  // Install MongoDB on the server. Does not destroy the local MongoDB on future setups
  "setupMongo": true,

  // Application name (no spaces).
  "appName": "meteor",

  // Location of app (local directory). This can reference '~' as the users home directory.
  // i.e., "app": "~/Meteor/my-app",
  // This is the same as the line below.
  "app": "/path/to/the/app",

  // Configure environment
  // ROOT_URL must be set to your correct domain (https or http)
  "env": {
    "PORT": 80,
    "ROOT_URL": "http://myapp.com"
  },

  // Meteor Up checks if the app comes online just after the deployment.
  // Before mup checks that, it will wait for the number of seconds configured below.
  "deployCheckWaitTime": 15,

  // show a progress bar while uploading. 
  // Make it false when you deploy using a CI box.
  "enableUploadProgressBar": true
}

Chúng ta cần thay đổi một vài thứ để quá trình thiết lập hoạt động.

Trước tiên, hãy đảm bảo đặt thành hostđịa chỉ IP VPS của bạn, ví dụ:

"host": "123.123.123.123",

Nếu bạn cần sử dụng số cổng khác với số 22 mặc định, bạn có thể làm như vậy bằng cách sử dụng sshOptionstrường, ví dụ:

"host": "123.123.123.123",
"sshOptions": { "port": 9876 },

Đặt usernamegiá trị cho bất kỳ người dùng nào bạn muốn sở hữu cài đặt ứng dụng Meteor của bạn. Tôi khuyên bạn nên xóa dòng mật khẩu và sử dụng khóa SSH thay vì mục đích bảo mật. Bỏ ghi chú dòng có pemgiá trị và đảm bảo rằng nó trỏ đến khóa bí mật SSH tương ứng với khóa công khai SSH bạn đã cài đặt trên VPS (in /root/.ssh/authorized_keys). Đảm bảo thêm dấu phẩy sau dòng mật khẩu! Nếu khóa SSH của bạn có cụm mật khẩu được đính kèm, hãy xóa toàn bộ pemdòng và đảm bảo rằng khóa riêng SSH của bạn được lưu trong bộ đệm ssh (ví dụ trên Mac, ssh-add <path to ssh private key>).

Đặt setupMongothành giá trị mặc định của nó.

Thay đổi appNametên của ứng dụng Meteor của bạn. Trong trường hợp của chúng ta:

"appName": "myApp",

... Và cũng đặt vị trí của ứng dụng, liên quan đến thư mục triển khai này:

"app": "..",

Cuối cùng, đặt ROOT_URLURL được chỉ định cho ứng dụng của bạn. Hoàn toàn đặt số cổng thành cổng HTTP tiêu chuẩn.

// Configure environment
"env": {
  "ROOT_URL": "http://myapp.com",
  "PORT": 80
},

Đó là nó! Lưu mup.jsontệp, sau đó chạy:

$ mupx setup

Tại thời điểm này, mupx sẽ ssh vào VPS của bạn, cài đặt Docker, thiết lập môi trường và kéo các hình ảnh Docker thích hợp. Bây giờ triển khai ứng dụng của bạn:

$ mupx deploy

Bây giờ nếu bạn truy cập http://123.123.123.123, ứng dụng của bạn sẽ hiển thị khi tải trang.

Hỗ trợ đa lõi

Nếu VPS của bạn có nhiều lõi, ứng dụng Meteor của bạn có thể tận dụng lợi thế đó. Chúng ta sẽ phải thực hiện một vài điều chỉnh nhanh chóng.

Trước tiên, bạn sẽ cần cài đặt gói cụm. Đi vào thư mục của ứng dụng Sao băng của bạn (trong ví dụ này /projects/myApp) và nhập:

$ meteor add meteorhacks:cluster

Bây giờ chỉnh sửa mup.jsontệp của bạn và sửa đổi phần biến môi trường như vậy:

// Configure environment
"env": {
  "ROOT_URL": "http://myapp.com",
  "PORT": 80,
  "CLUSTER_WORKERS_COUNT": "auto"
},

Vì chúng tôi đã thêm gói mới vào ứng dụng của mình, bạn sẽ phải triển khai lại.

$ mupx setup && mupx deploy

Nếu bạn muốn thay đổi các biến môi trường của mình mup.jsonmà không phải triển khai toàn bộ ứng dụng, chỉ cần sử dụng lệnh cấu hình lại. Điều này hữu ích khi không có thay đổi ứng dụng được thực hiện.

$ mupx reconfig

Xin chúc mừng, ứng dụng Meteor của bạn đã hoạt động! Ngoài ra, ứng dụng của bạn sẽ tự động khởi động bất cứ khi nào VPS của bạn khởi động lại. Hãy theo dõi các bài viết trong tương lai về triển khai và quản lý sao băng.



Leave a Comment

ReactOS: Đây có phải là tương lai của Windows?

ReactOS: Đây có phải là tương lai của Windows?

ReactOS, một hệ điều hành mã nguồn mở và miễn phí đã có phiên bản mới nhất. Liệu nó có thể đáp ứng đủ nhu cầu của người dùng Windows hiện đại và hạ gục Microsoft? Hãy cùng tìm hiểu thêm về trải nghiệm hệ điều hành kiểu cũ nhưng mới hơn này.

Liệu AI có thể chiến đấu với số lượng các cuộc tấn công bằng Ransomware ngày càng tăng

Liệu AI có thể chiến đấu với số lượng các cuộc tấn công bằng Ransomware ngày càng tăng

Các cuộc tấn công ransomware đang gia tăng, nhưng liệu AI có thể giúp đối phó với loại virus máy tính mới nhất? AI có phải là câu trả lời? Đọc ở đây biết là AI boone hay cấm

Luôn kết nối thông qua Ứng dụng WhatsApp Desktop 24 * 7

Luôn kết nối thông qua Ứng dụng WhatsApp Desktop 24 * 7

Whatsapp cuối cùng đã ra mắt ứng dụng Máy tính để bàn cho người dùng Mac và Windows. Giờ đây, bạn có thể truy cập Whatsapp từ Windows hoặc Mac một cách dễ dàng. Có sẵn cho Windows 8+ và Mac OS 10.9+

Làm thế nào AI có thể đưa quá trình tự động hóa lên cấp độ tiếp theo?

Làm thế nào AI có thể đưa quá trình tự động hóa lên cấp độ tiếp theo?

Hãy đọc phần này để biết Trí tuệ nhân tạo đang trở nên phổ biến như thế nào đối với các công ty quy mô nhỏ và làm thế nào nó đang tăng khả năng khiến họ phát triển và giúp đối thủ cạnh tranh của họ có thể cạnh tranh.

Bản cập nhật bổ sung macOS Catalina 10.15.4 đang gây ra nhiều vấn đề hơn là giải quyết

Bản cập nhật bổ sung macOS Catalina 10.15.4 đang gây ra nhiều vấn đề hơn là giải quyết

Gần đây Apple đã phát hành macOS Catalina 10.15.4 một bản cập nhật bổ sung để khắc phục các sự cố nhưng có vẻ như bản cập nhật đang gây ra nhiều vấn đề hơn dẫn đến việc máy mac bị chai. Đọc bài viết này để tìm hiểu thêm

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

Hệ thống tệp nhật ký là gì và nó hoạt động như thế nào?

Hệ thống tệp nhật ký là gì và nó hoạt động như thế nào?

Máy tính của chúng tôi lưu trữ tất cả dữ liệu một cách có tổ chức được gọi là hệ thống tệp Ghi nhật ký. Đây là một phương pháp hiệu quả cho phép máy tính tìm kiếm và hiển thị các tệp ngay khi bạn nhấn tìm kiếm. Https://wethegeek.com/? P = 94116 & preview = true

Điểm kỳ dị về công nghệ: Tương lai xa của nền văn minh nhân loại?

Điểm kỳ dị về công nghệ: Tương lai xa của nền văn minh nhân loại?

Khi Khoa học phát triển với tốc độ nhanh chóng, chiếm rất nhiều nỗ lực của chúng ta, những rủi ro của việc phục tùng bản thân trước một Điểm kỳ dị không thể giải thích cũng tăng lên. Hãy đọc, điểm kỳ dị có thể có ý nghĩa gì đối với chúng ta.

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Tác động của trí tuệ nhân tạo trong chăm sóc sức khỏe 2021

Tác động của trí tuệ nhân tạo trong chăm sóc sức khỏe 2021

AI trong lĩnh vực chăm sóc sức khỏe đã có những bước tiến nhảy vọt so với những thập kỷ trước. Vì vậy, tương lai của AI trong Chăm sóc sức khỏe vẫn đang phát triển từng ngày.