Meteor hướng dẫn

Cách thiết lập ứng dụng web Meteor.js với MongoDB và Apache trên Ubuntu 16.04 LTS

  • Cài đặt Node.js
  • Cài đặt MongoDB
  • Cài đặt và thiết lập Apache2
  • Cài đặt Meteor.js và tạo ứng dụng cơ bản của chúng tôi
  • Thiết lập proxy ngược Apache của chúng tôi
  • Chạy trang web lần đầu tiên
  • Thiết lập trang web của chúng tôi để sản xuất
  • Quản lý ứng dụng của chúng tôi

Meteor.js là một khung JavaScript, mã nguồn mở được viết bằng Node.js. Nó phổ biến vì quan điểm xây dựng các ứng dụng web bằng JavaScript thuần túy. Meteor kết hợp hỗ trợ JavaScript front-end chạy trong trình duyệt web, cũng như JavaScript back-end, sẽ chạy trên máy chủ. Nó tích hợp rất tốt với các khung JavaScript phía trước, như React và Angular.js, cũng như MongoDB, một cơ sở dữ liệu NoQuery phổ biến. Một vài lý do lớn để chọn Meteor.js như sau:

  • Meteor.js là một khung ngăn xếp đầy đủ. Vì vậy, với nó, bạn có được mọi thứ bạn cần: Cơ sở dữ liệu, giao diện người dùng, phụ trợ. Meteor thực hiện một công việc tuyệt vời để buộc tất cả lại với nhau.

  • Tốc độ. Hệ thống gói trực quan của Meteor cung cấp cho bạn nhiều công cụ mà bạn có thể cần để hoàn thiện ứng dụng của mình.

  • Nó có sự hỗ trợ tốt từ Nhóm nhà phát triển sao băng, cũng như các nhà phát triển đồng nghiệp sử dụng nó. Bạn sẽ dễ dàng có thể tìm ra bất kỳ vấn đề nào bạn có thể có và giải quyết chúng nhanh chóng.

Trong hướng dẫn này, chúng tôi sẽ thực hiện các mục tiêu sau trên Ubuntu 16.04:

  • Cài đặt Node.js, thời gian chạy Javascript của chúng tôi.

  • Cài đặt Meteor.js.

  • Cài đặt MongoDB, cơ sở dữ liệu của sao băng.

  • Cài đặt Apache, proxy ngược của sự lựa chọn của chúng tôi và thiết lập tên miền của chúng tôi nếu có.

  • Kiểm tra trang web của chúng tôi.

  • Thiết lập trang web của chúng tôi để sản xuất.

Cài đặt Node.js

Trước tiên, bạn cần cài đặt Node.js, trình thông dịch JavaScript của chúng tôi và lõi của Meteor. Nó sẽ cho phép chúng tôi chạy Meteor và các ứng dụng Node.js khác mà chúng tôi có thể có trong tương lai. Trong tình huống này, chúng tôi sẽ cài đặt Node.js 8. Để bắt đầu tải xuống, chỉ cần chạy phần sau trong thiết bị đầu cuối của bạn.

curl -sL //deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install -y nodejs

Đợi quá trình tải xuống và cài đặt hoàn tất.

Cài đặt MongoDB

Tiếp theo, chúng tôi sẽ cài đặt cơ sở dữ liệu của chúng tôi: MongoDB. MongoDB là một cơ sở dữ liệu tài liệu NoQuery miễn phí, nguồn mở và cơ sở dữ liệu được lựa chọn của Meteor. Nó sử dụng định dạng giống như JSON cho các tài liệu của nó, trái ngược với các bảng có cấu trúc trong cơ sở dữ liệu SQL truyền thống.

Nhập khóa công khai MongoDB được sử dụng bởi APT[Thiết bị đầu cuối đóng gói nâng cao]. Điều này cho phép APT xác minh gói; trong trường hợp này, MongoDB.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

Tạo tệp danh sách cần thiết cho Ubuntu 16.04.

echo "deb [ arch=amd64,arm64 ] //repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

Bắt đầu cài đặt MongoDB và đợi quá trình cài đặt kết thúc.

sudo apt update && sudo apt install mongodb-org -y

Mở dịch vụ systemd để chỉnh sửa.

sudo nano /etc/systemd/system/mongodb.service

Sao chép và dán sau đây để hoàn thành dịch vụ systemd.

[Unit] Description=High-performance, schema-free document-oriented database After=network.target [Service] User=mongodb ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf [Install] WantedBy=multi-user.target

Sử dụng " Control-O" để lưu và " Control-X" để thoát.

Chạy dịch vụ systemd MongoDB bằng cách gõ sudo systemctl start mongodbvào thiết bị đầu cuối của bạn.

Để xác minh rằng nó đã bắt đầu thành công, hãy gõ như sau.

sudo systemctl status mongodb

Bạn sẽ thấy rằng dịch vụ đang hoạt động.

Cài đặt và thiết lập Apache2

Next, we will install Apache. Apache is a free and open source web server software, which also functions as a reverse proxy, which is what we will be utilizing in this tutorial. A reverse proxy is needed to bind our Meteor.js Application to port 80. Node.js blocks applications from running on that port without root access. Apache runs as root automatically as well as binds to port 80, so we won't have to worry about it when it comes time to run our website.

Install Apache.

sudo apt update && sudo apt install apache2

In order to allow access to outside web ports such as port 80, we need to configure our firewall for Apache. We do this through UFW [Uncomplicated Firewall].

sudo ufw allow 'Apache Full'

This will allow access to the "Apache Full" profile. This gives us the incoming traffic to port 80, which is what our application will be running on.

Installing Meteor.js & creating our base application

Now, we will install our web framework: Meteor.js. We will use a simple bash script provided by the Meteor team to install it.

curl //install.meteor.com/ | sh

Wait for the installation to finish. Basically what the script does is it downloads Meteor from the official website, and installs it globally, so we can use it from anywhere. Once it is finished, we can create our application directory. Meteor has a handy little tool for us to use to do that, called meteor create. To create your application directory, type the following.

meteor create

The folder will be created with the name specified [].

Setting up our Apache reverse proxy

Now that we have our application directory set up, we can proceed with setting up our reverse proxy. Apache uses a module called mod_proxy, which implements a proxy for Apache.

sudo apt-get install libapache2-mod-proxy-html libxml2-dev -y

This will install the module and make it available for Apache to use.

Next, we will need to enable all of the necessary modules Apache needs to run. We will do this with a2enmod, a tool that enables modules for Apache. These modules will allow us to take advantage of the reverse proxy. Simply type these commands into your terminal.

sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod proxy_ajp sudo a2enmod rewrite sudo a2enmod deflate sudo a2enmod headers sudo a2enmod proxy_balancer sudo a2enmod proxy_connect sudo a2enmod proxy_html

After that, we will need to disable the default Apache site from starting up, so we can start up our own. Otherwise, the default Apache application will override ours. To disable the default site, simply run the following.

sudo a2dissite 000-default

Now we will create our virtual host file. To do that, just open a text editor.

sudo nano /etc/apache2/sites-available/

Copy and paste the following.

ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined ProxyPreserveHost On # Servers to proxy the connection, or # List of application servers Usage ProxyPass / //0.0.0.0:3000/ ServerName localhost
  • VirtualHost *:80: Tells Apache to attach to port 80, which is what we want for our web application.

  • ProxyPass: The IP address of the site you want to forward to the reverse proxy. This will most likely be the IP of your VPS

  • ServerName: The name of your server [the default name is usually localhost].

Once you are all done configuring the necessary settings, use "Control-O" to save and "Control-X" to exit.

Running the site for the first time

To test and make sure that the website is running, type the following in the project directory.

meteor

You will see the following output showing that your site has started successfully.

=> App running at: //localhost:3000/

Take note that Meteor, by default listens on port 3000.

Setting up our website for production

In order to make sure our app is able to stay running, we will use a systemd service. Similar to what we did above with MongoDB, this system service will make sure that our website will start up whenever our system starts, and stay running. It will also restart our application, in the event that it crashes for whatever reason. To setup our systemd service, type the following in your terminal.

sudo nano /etc/systemd/system/.service

Here is what you want your file to look like.

[Service] WorkingDirectory=/home// ExecStart=/usr/local/bin/meteor --production Restart=always StandardOutput=syslog StandardError=syslog SyslogIdentifier= User= Environment=NODE_ENV=production Environment=PWD=/home// Environment=PORT=3000 Environment=HTTP_FORWARDED_COUNT=1

Note: Don't forget to replace projectname with the name of the project, and yourusername with the username of the VPS.

Here are some key lines for you to keep in mind.

  • WorkingDirectory: The directory of your application.

  • Restart: Whether or not to restart the application of it stops for whatever reason.

  • User: Your username.

  • Environment=PWD: Identical to WorkingDirectory.

  • Environment=PORT: The port that your application is running on. The default is 3000.

Save and close the file.

Now, we will enable and start the service.

sudo systemctl enable .service

Where is the name of the service file we created.

Then, we will start the service.

sudo systemctl start .service

Your application will start. To verify that it has launched, just run the following.

sudo systemctl status

You will see that it is active, verifying that the service has started successfully.

Next, we will check out our website. In your web browser of choice, navigate to your IP address.

//your-server-ip/

You will see the Meteor sample screen, verifying that you have done everything correctly.

Managing our application

Now that we have started our application, we will need to manage it.

Restarting your application

sudo systemctl restart

Stopping the application

sudo systemctl stop

Viewing the application's status

sudo systemctl status

Viewing the logs

journalctl -u

You have now successfully configured MongoDB, Apache, and Meteor, and created a Meteor.js web server for production. Now the rest is up to you, to design your website on the front end and the back end. You have access to MongoDB to store any data you may need, and Node.js, which offers a variety of modules available through Node Package Manager [NPM] to further strengthen your backend. For more documentation, feel free to visit the Meteor site, where you can further learn how to customize your website to your liking. Also, you may refer to the MongoDB documentation, when you are dealing with database operations.


Tags: #Linux Guides #MongoDB #Programming #Ubuntu

Hướng dẫn cấu hình mạng riêng tư cho máy tính của bạn

Nếu bạn đang chỉ định một mạng riêng cho một máy hiện có [hoặc triển khai hệ điều hành của riêng bạn], bạn sẽ cần định cấu hình các địa chỉ IP trên giao diện riêng.

Hướng dẫn cấu hình IPv6 trên VPS của bạn

Mỗi ví dụ này giả sử một mạng con IPv6 là 2001:db8:1000::/64. Bạn sẽ cần cập nhật chúng với mạng con mà bạn đã được chỉ định. Chúng tôi sẽ sử dụng 2001:db8:1000::100làm địa chỉ IPv6 chính để gán. Chúng tôi cũng sẽ định cấu hình 2001:db8:1000::200như một địa chỉ IPv6 thứ cấp. Việc thêm IPv6 thứ cấp là không cần thiết, nhưng nó cho thấy quá trình bạn sẽ sử dụng nếu bạn muốn có nhiều địa chỉ IPv6.

Hướng dẫn cách truy cập Chế độ người dùng đơn [Đặt lại mật khẩu gốc]

Để đặt lại mật khẩu gốc của máy chủ của bạn, bạn sẽ cần phải khởi động vào chế độ người dùng. Truy cập máy chủ của bạn trong cổng thông tin khách hàng của Vultr, sau đó làm theo các bước dưới đây cho hệ điều hành được cài đặt trên máy chủ của bạn.

Hướng dẫn bắt đầu máy chủ Teamspeak 3 trên CentOS 6.4

Máy chủ Teamspeak được nhiều người ưa thích nhưng không phải ai cũng biết cài và sử dụng. Hôm nay CloudO3 sẽ hướng dẫn các bạn có thể tự làm được nhé!

Cách thiết lập các bản nâng cấp không giám sát trên Debian 6/7

Sử dụng một hệ thống khác nhau? Nếu bạn mua máy chủ Debian, thì bạn phải luôn có các bản vá và cập nhật bảo mật mới nhất, cho dù bạn có ngủ hay không

Hướng dẫn chi tiết cài đặt Nginx + PHP FPM + Bộ nhớ đệm + MySQL trên Ubuntu 12.04 cho người mới bắt đầu

Có lẽ rất nhiều người sẽ sử dụng VPS Vultr của họ làm máy chủ web, một lựa chọn tốt sẽ là Nginx làm máy chủ web. Trong chủ đề này tôi sẽ mô tả o

Hướng dẫn chạy CoreOS trên VPS Vultr

Vultr hiện cung cấp CoreOS trên trang đặt hàng - Hướng dẫn này giải thích cách thiết lập CoreOS theo cách thủ công. Hôm nay Cloudo3 sẽ hướng dẫn bạn chạy CoreOS bằng 1 nút duy nhất.

Hướng dẫn cài đặt 3 bảng điều khiển lưu trữ web miễn phí [Cài đặt nhanh]

Virtualmin / Webmin, Vesta, Ajenti là 3 bảng điều khiển lưu trữ web mạnh mẽ và linh hoạt cho các hệ thống Linux và UNIX dựa trên cơ sở web nguồn mở nổi tiếng

Hướng dẫn cấu hình Mạng tĩnh và IPv6 trên CentOS 7

VULTR gần đây đã thực hiện các thay đổi ở phần cuối của họ và mọi thứ sẽ hoạt động tốt ngoài hộp với tính năng NetworkManager được kích hoạt. Nếu bạn muốn tắt NetworkManager, bạn có thể làm theo các bước sau.

Cách quản lý và cài đặt múi giờ của máy chủ Linux

Đặt ngày và giờ chính xác trên máy chủ Linux của bạn là rất quan trọng. Nhật ký máy chủ của bạn và các thông tin quan trọng khác sẽ phản ánh múi giờ của máy chủ của bạn. Trong hầu hết các trường hợp, bạn sẽ muốn đặt thời gian cho máy chủ của mình khớp với giờ địa phương của riêng bạn, nhưng nếu máy chủ của bạn ở xa hoặc lưu trữ các trang web cho những người chủ yếu ở múi giờ khác, bạn có thể chọn một thời gian khác.

Cách bảo mật trang web Nginx của bạn bằng SSL và mật mã an toàn

SSL [viết tắt của Lớp cổng bảo mật ] và người kế nhiệm của nó, TLS [viết tắt của Transport Layer Security ] là các giao thức mã hóa để bảo mật liên lạc qua Internet. Nó có thể được sử dụng để tạo kết nối an toàn đến một trang web.

Cài đặt Wordpress với Apache, PHP và MySQL [Tập lệnh khởi động tự động]

Bạn có thể sao chép và dán tập lệnh bash sau vào vùng tập lệnh khởi động của Bảng điều khiển Vultr. Nó sẽ cài đặt tất cả các gói cần thiết để chạy Wordpress, tạo và nhập thông tin xác thực cơ sở dữ liệu và mở các cổng tường lửa cần thiết.

Cài đặt ownCloud 7 trên CentOS 6 với Nginx w / SSL, PHP-FPM và PGQuery [Tập lệnh khởi động tự động]

Bạn có thể sao chép và dán tập lệnh bash sau vào vùng tập lệnh khởi động của Bảng điều khiển Vultr. Kịch bản khởi động này sẽ cài đặt phiên bản hiện tại

Hướng dẫn cài đặt WordPress trên cấu hình LEMP

Trong bài này, bạn sẽ tìm hiểu được cách cài đặt WordPresstrên cấu hình LEMP. Tôi sẽ trình bày cài đặt trên máy chủ Ubuntu 14.04. Các hướng dẫn này cũng có thể hoạt động trên các phiên bản cũ hơn của Ubuntu và Debian.

Hướng dẫn cách tạo Khóa SSH

Khóa SSH cho phép bạn đăng nhập vào máy chủ của mình mà không cần mật khẩu. Khóa SSH có thể được tự động thêm vào máy chủ trong quá trình cài đặt.

Hướng dẫn cài đặt ownCloud 6 trên CentOS 6

ownCloud cung cấp quyền truy cập toàn cầu vào các tệp của bạn thông qua web, máy tính hoặc thiết bị di động của bạn - mọi lúc mọi nơi. Nó cũng cung cấp một nền tảng để dễ dàng xem và đồng bộ hóa danh bạ, lịch và dấu trang của bạn trên tất cả các thiết bị của bạn và cho phép chỉnh sửa cơ bản ngay trên web.

Hướng dẫn cách cài đặt máy chủ Minecraft trên CentOS 6

Sử dụng một hệ thống khác nhau? Bài viết này sẽ hướng dẫn bạn cách thiết lập máy chủ Minecraft trên VPS SSD hiệu suất cao tại Vultr. Bạn sẽ tìm hiểu cách thiết lập máy chủ Minecraft trên CentOS 6 x64.

Hướng dẫn cách sửa cấu hình mạng sau khi khôi phục ảnh chụp

Sau khi khôi phục ảnh chụp nhanh sang máy mới, bạn có thể gặp phải sự cố do địa chỉ MAC của bộ điều hợp mạng thay đổi. Thông thường, khi bộ điều hợp mạng thay đổi, hệ điều hành sẽ tạo ra bộ điều hợp mạng mới cho nó. Bạn thường thấy bộ điều hợp mạng trên eth2 [hoặc eth2 nếu bạn đã bật mạng riêng].

Hướng dẫn cài đặt Prosody trên Debian 7

Prosody là một máy chủ giao tiếp XMPP được viết bằng LUA. Nó nhằm mục đích dễ dàng thiết lập và cấu hình, và hiệu quả với tài nguyên hệ thống. Prosody là phần mềm mã nguồn mở! Trong hướng dẫn này, chúng tôi sẽ cài đặt Prosody trên máy chủ Debian 7.0. Bạn nên cài đặt mới hệ điều hành trước khi cài đặt Prosody.

Hướng dẫn thiết lập kho lưu trữ Subversion [SVN] trên Debian / Ubuntu

SVN [ tên đầy đủ là Subversion], là một phần mềm mã nguồn mở dùng để quản lý và kiểm tra các phiên bản mã nguồn khác nhau trong quá trình phát triển phần mềm, được công ty CollabNet giới thiệu vào năm 2000. SVN hỗ trợ làm việc nhóm rất hiệu quả và được sử dụng phổ biến hiện nay. Cụ thể, Subversion rất phổ biến trong giới mã nguồn mở và được dùng để quản lý mã nguồn cho nhiều ứng dụng Phần mềm miễn phí như: Apache Software Foundation, KDE, GNOME, Free Pascal, FreeBSD, GCC, Python, Django, Ruby, và Mono. SourceForge.net và Tigris.org, nơi chứa miễn phí chuyên nghiệp dành cho các ứng dụng tự do

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

Làm thế nào để đo mức độ căng thẳng của bạn giữa đại dịch COVID-19?

Trong bối cảnh COVID-19 và khóa máy, mức độ căng thẳng đang tăng lên do mọi người không thể làm theo thói quen thông thường, hãy kiểm tra mức độ căng thẳng của bạn bằng cách sử dụng Calm Sages Stress-o-meter

6 lợi ích tuyệt vời của việc có thiết bị nhà thông minh trong cuộc sống của chúng ta

Trong thế giới định hướng kỹ thuật số này, các thiết bị nhà thông minh đã trở thành một phần quan trọng của cuộc sống. Dưới đây là một số lợi ích đáng kinh ngạc của các thiết bị nhà thông minh về cách chúng làm cho cuộc sống của chúng ta trở nên đáng sống và đơn giản hơn.

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. //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?

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

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.

Dữ liệu lớn: Nó đã thay đổi bối cảnh như thế nào theo thời gian, tác động của nó và triển vọng trong tương lai

Nếu có bất kỳ công nghệ lớn nào mà chúng ta đang tìm kiếm, không thể nào khác ngoài dữ liệu lớn. Đây là cách nó đã thay đổi kịch bản, tác động của nó và triển vọng trong tương lai.

Dữ liệu lớn đang biến đổi trí tuệ nhân tạo như thế nào?

Dữ liệu lớn và Trí tuệ nhân tạo là những từ thông dụng, nhưng bạn có biết chúng liên quan với nhau như thế nào không? Chà, hãy đọc phần viết này cho đến cuối và tìm hiểu về điều tương tự.

Video liên quan

Chủ Đề