Cara Mengatur Aplikasi Web Meteor.js Dengan MongoDB dan Apache di Ubuntu 16.04 LTS

Meteor.js adalah kerangka JavaScript sumber terbuka yang ditulis dengan mempertimbangkan Node.js. Ini populer karena pandangannya membangun aplikasi web dalam JavaScript murni. Meteor menggabungkan dukungan JavaScript front-end yang berjalan di browser web, serta JavaScript back-end, yang akan berjalan di server host. Ini terintegrasi dengan sangat baik dengan kerangka JavaScript front-end, seperti React dan Angular.js, serta MongoDB, database NoSQL yang populer. Beberapa alasan besar untuk memilih Meteor.js adalah sebagai berikut:

  • Meteor.js adalah kerangka kerja tumpukan penuh. Jadi dengan itu, Anda mendapatkan semua yang Anda butuhkan: Database, front end, backend. Meteor melakukan pekerjaan yang luar biasa untuk mengikat semuanya.

  • Kecepatan. Sistem paket intuitif Meteor memberi Anda banyak alat yang mungkin Anda perlukan untuk menyempurnakan aplikasi Anda.

  • Ini memiliki dukungan yang baik dari Grup Pengembang Meteor, serta sesama pengembang yang menggunakannya. Anda akan dapat dengan mudah menemukan masalah yang mungkin Anda miliki dan menyelesaikannya dengan cepat.

Dalam tutorial ini, kita akan mencapai tujuan-tujuan berikut di Ubuntu 16.04:

  • Instal Node.js, runtime Javascript kami.

  • Instal Meteor.js.

  • Instal MongoDB, database pilihan Meteor.

  • Pasang Apache, proksi terbalik pilihan kami, dan atur domain kami jika berlaku.

  • Uji situs web kami.

  • Siapkan situs web kami untuk produksi.

Menginstal Node.js

Pertama-tama Anda harus menginstal Node.js, yang merupakan penerjemah JavaScript kami, dan inti Meteor. Ini akan memungkinkan kita untuk menjalankan Meteor, dan aplikasi Node.js lain yang mungkin kita miliki di masa depan. Dalam situasi ini, kami akan menginstal Node.js 8. Untuk memulai unduhan, cukup jalankan yang berikut di terminal Anda.

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

Tunggu pengunduhan dan pemasangan selesai.

Menginstal MongoDB

Selanjutnya, kita akan menginstal basis data kita: MongoDB. MongoDB adalah database dokumen NoSQL open-source gratis, dan database pilihan Meteor. Ini menggunakan format seperti JSON untuk dokumen-dokumennya, tidak seperti tabel terstruktur dalam database SQL tradisional.

Impor kunci publik MongoDB yang digunakan oleh APT(Terminal Pengemasan Lanjutan). Ini memungkinkan APT untuk memverifikasi paket; dalam hal ini, MongoDB.

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

Buat file daftar yang diperlukan untuk Ubuntu 16.04.

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

Mulai instalasi MongoDB, dan tunggu sampai instalasi selesai.

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

Buka layanan systemd untuk mengedit.

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

Salin dan rekatkan yang berikut untuk menyelesaikan layanan 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

Gunakan " Control-O" untuk menyimpan, dan " Control-X" untuk keluar.

Jalankan layanan MongoDB systemd dengan mengetikkan sudo systemctl start mongodbterminal Anda.

Untuk memverifikasi bahwa itu sudah mulai berhasil, ketik berikut ini.

sudo systemctl status mongodb

Anda akan melihat bahwa layanan ini aktif.

Menginstal dan mengatur Apache2

Selanjutnya, kita akan menginstal Apache. Apache adalah perangkat lunak server web sumber gratis dan terbuka, yang juga berfungsi sebagai proxy terbalik, yang akan kita manfaatkan dalam tutorial ini. Diperlukan proxy terbalik untuk mengikat Aplikasi Meteor.js kami ke port 80. Node.js memblokir aplikasi agar tidak berjalan di port itu tanpa akses root. Apache berjalan rootsecara otomatis dan juga mengikat port 80, jadi kita tidak perlu khawatir tentang itu ketika tiba saatnya untuk menjalankan situs web kami.

Instal Apache.

sudo apt update && sudo apt install apache2

Untuk memungkinkan akses ke port web luar seperti port 80, kita perlu mengkonfigurasi firewall untuk Apache. Kami melakukan ini melalui UFW(Firewall Tidak Rumit).

sudo ufw allow 'Apache Full'

Ini akan memungkinkan akses ke Apache Fullprofil " ". Ini memberi kita lalu lintas masuk port 80, yang akan menjalankan aplikasi kita.

Menginstal Meteor.js & membuat aplikasi basis kami

Sekarang, kita akan menginstal kerangka kerja web kita: Meteor.js. Kami akan menggunakan skrip bash sederhana yang disediakan oleh tim Meteor untuk menginstalnya.

curl https://install.meteor.com/ | sh

Tunggu instalasi selesai. Pada dasarnya yang dilakukan skrip adalah mengunduh Meteor dari situs web resmi, dan memasangnya secara global, sehingga kami dapat menggunakannya dari mana saja. Setelah selesai, kita dapat membuat direktori aplikasi kita. Meteor memiliki alat kecil yang berguna untuk kita gunakan untuk melakukan itu, yang disebut meteor create. Untuk membuat direktori aplikasi Anda, ketikkan yang berikut ini.

meteor create <projectname>

Folder akan dibuat dengan nama yang ditentukan ( <projectname>).

Menyiapkan proxy reverse Apache kami

Sekarang setelah kita mengatur direktori aplikasi, kita dapat melanjutkan dengan mengatur proxy terbalik kita. Apache menggunakan modul yang disebut mod_proxy, yang mengimplementasikan proxy untuk Apache.

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

Ini akan menginstal modul dan membuatnya tersedia untuk digunakan oleh Apache.

Selanjutnya, kita perlu mengaktifkan semua modul yang diperlukan yang harus dijalankan Apache. Kami akan melakukan ini dengan a2enmod, alat yang memungkinkan modul untuk Apache. Modul-modul ini akan memungkinkan kami untuk mengambil keuntungan dari proxy terbalik. Cukup ketik perintah ini ke terminal Anda.

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

Setelah itu, kita perlu menonaktifkan situs Apache default dari memulai, sehingga kita dapat memulai kita sendiri. Kalau tidak, aplikasi Apache default akan menimpa kita. Untuk menonaktifkan situs default, cukup jalankan yang berikut ini.

sudo a2dissite 000-default

Sekarang kita akan membuat file host virtual kita. Untuk melakukannya, cukup buka editor teks.

sudo nano /etc/apache2/sites-available/<projectname>

Salin dan rekatkan yang berikut ini.

<VirtualHost *:80>
  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 / http://0.0.0.0:3000/
 ServerName localhost
</VirtualHost>
  • VirtualHost *:80: Memberitahu Apache untuk melampirkan port 80, yang kami inginkan untuk aplikasi web kami.

  • ProxyPass: Alamat IP situs yang ingin Anda teruskan ke proksi terbalik. Ini kemungkinan besar akan menjadi IP VPS Anda

  • ServerName: Nama server Anda (biasanya nama default localhost).

Setelah Anda selesai mengonfigurasi pengaturan yang diperlukan, gunakan " Control-O" untuk menyimpan dan " Control-X" untuk keluar.

Menjalankan situs untuk pertama kalinya

Untuk menguji dan memastikan bahwa situs web berjalan, ketikkan yang berikut di direktori proyek.

meteor

Anda akan melihat output berikut ini yang menunjukkan bahwa situs Anda telah mulai berhasil.

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

Perhatikan bahwa Meteor, secara default mendengarkan pada port 3000.

Menyiapkan situs web kami untuk produksi

Untuk memastikan aplikasi kami dapat tetap berjalan, kami akan menggunakan layanan systemd. Mirip dengan apa yang kami lakukan di atas dengan MongoDB, layanan sistem ini akan memastikan bahwa situs web kami akan memulai setiap kali sistem kami mulai, dan tetap berjalan. Ini juga akan memulai ulang aplikasi kita, jika crash karena alasan apa pun. Untuk mengatur layanan systemd kami, ketikkan yang berikut di terminal Anda.

sudo nano /etc/systemd/system/<projectname>.service

Inilah yang Anda inginkan dari file Anda.

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

Catatan : Jangan lupa ganti projectnamedengan nama proyek, dan yourusernamedengan nama pengguna VPS.

Berikut adalah beberapa baris kunci yang perlu Anda ingat.

  • WorkingDirectory: Direktori aplikasi Anda.

  • Restart: Apakah atau tidak untuk me-restart aplikasi itu berhenti karena alasan apa pun.

  • User: Nama pengguna Anda.

  • Environment=PWD: Identik dengan WorkingDirectory.

  • Environment=PORT: Port tempat aplikasi Anda berjalan. Standarnya adalah 3000.

Simpan dan tutup file.

Sekarang, kami akan mengaktifkan dan memulai layanan.

sudo systemctl enable <projectname>.service

Di mana <projectname>nama file layanan yang kami buat.

Kemudian, kami akan memulai layanan.

sudo systemctl start <projectname>.service

Aplikasi Anda akan mulai. Untuk memverifikasi bahwa itu telah diluncurkan, jalankan saja yang berikut ini.

sudo systemctl status <projectname>

Anda akan melihat bahwa itu aktif, memverifikasi bahwa layanan telah mulai berhasil.

Selanjutnya, kami akan memeriksa situs web kami. Di browser web pilihan Anda, navigasikan ke alamat IP Anda.

http://your-server-ip/

Anda akan melihat layar sampel Meteor, memverifikasi bahwa Anda telah melakukan semuanya dengan benar.

Mengelola aplikasi kita

Sekarang kita telah memulai aplikasi kita, kita perlu mengelolanya.

Mulai ulang aplikasi Anda

sudo systemctl restart <projectname>

Menghentikan aplikasi

sudo systemctl stop <projectname>

Melihat status aplikasi

sudo systemctl status <projectname>

Melihat log

journalctl -u <projectname>

Anda sekarang telah berhasil mengkonfigurasi MongoDB, Apache, dan Meteor, dan membuat server web Meteor.js untuk produksi. Sekarang sisanya terserah Anda, untuk merancang situs web Anda di ujung depan dan belakang. Anda memiliki akses ke MongoDB untuk menyimpan data apa pun yang Anda butuhkan, dan Node.js, yang menawarkan berbagai modul yang tersedia melalui Node Package Manager ( NPM) untuk semakin memperkuat backend Anda. Untuk dokumentasi lebih lanjut, silakan kunjungi situs Meteor , tempat Anda dapat mempelajari lebih lanjut bagaimana menyesuaikan situs web sesuai keinginan Anda. Juga, Anda dapat merujuk ke dokumentasi MongoDB , ketika Anda berurusan dengan operasi basis data.



Leave a Comment

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut