Buat Aplikasi Web Hapi.js Menggunakan Node.js di Ubuntu 16.04

Hapi.js adalah kerangka kerja Node.js yang kaya, kuat, dan kuat yang dirancang untuk membangun aplikasi web di ekosistem Node.js. Desainnya yang sederhana memudahkan untuk memulai. Hapi menggunakan banyak fitur JavaScript ES6 terbaru pada intinya, seperti janji ES6. Bagi Anda yang telah menggunakan Express sebelumnya, Hapi memungkinkan Anda untuk mencoba sesuatu yang baru, dan mengalami semua fitur JavaScript terbaru.

Dalam tutorial ini, tujuan kami adalah membuat halaman web Hapi.js dasar, yang dihosting dari Vultr VPS kami, di Ubuntu 16.04 LTS. Bagi mereka yang memiliki domain untuk situs mereka, kami akan menggunakan proxy terbalik untuk menautkan domain kami ke situs web kami. Akhirnya, kita akan belajar cara mengelolanya dengan manajer proses. Sekarang kita sudah berhasil, mari kita mulai.

Menginstal Node.js

Kita perlu menginstal Node.js. Untuk melakukannya di Ubuntu 16.04 LTS, ikuti instruksi ini.

Menambahkan Repositori

Kami perlu menambahkan repositori NodeSource APT, yang berisi rilis LTS terbaru dari Node.js.

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

Kami sedang mengunduh skrip yang akan kami gunakan untuk menambahkan repositori ke daftar sumber kami, serta menginstal Node.js dari repositori NodeSource.

Menginstal Alat Bangun

Selain menginstal Node.js sendiri, kita juga perlu menginstal beberapa alat membangun yang diperlukan, yang akan membantu dalam membangun modul apa pun yang mungkin perlu kita instal.

sudo apt-get install -y build-essential

Ini hanya mengunduh dan menginstal alat membangun dari repositori.

Menyiapkan direktori aplikasi

Merupakan praktik yang baik untuk menunjuk folder yang akan kita gunakan untuk aplikasi kita, yang akan berisi semua data aplikasi kita, seperti file konfigurasi dan skrip startup. Buat folder, beri nama apa pun yang Anda suka. Demi tutorial ini, saya akan menganggap Anda menamainya site.

mkdir site

Setelah Anda membuat folder, sekarang kita bisa mengubahnya. Pastikan Anda berada di direktori yang baru Anda buat, mulai panduan paket NPM.

npm init

Ini akan meminta Anda untuk memasukkan beberapa hal yang berbeda, seperti nama aplikasi Anda, file mulai, lisensi dan sebagainya. Sebagian besar bidang dapat Anda biarkan default, kecuali bidang yang lebih jelas, seperti nama aplikasi Anda. Pada akhirnya, akan terlihat seperti ini:

{
  "name": "site",
  "version": "1.0.0",
  "description": "Hapi.js site",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "rich",
  "license": "MIT"
}

Setelah Anda puas dengan hasilnya, klik ENTERuntuk menyimpan file.

Menginstal Hapi.js

Sekarang direktori Anda telah berhasil dibangun, kita sekarang dapat melanjutkan untuk menginstal Hapi.js. Seperti disebutkan sebelumnya, kami akan menggunakan NPM untuk mengunduh Hapi.js, dan juga dependensinya, untuk proyek kami. Di direktori proyek, jalankan yang berikut ini.

npm install hapi.js

Ini mengunduh Hapi.js dari NPM dan memasangnya di direktori proyek kami. Dalam proses yang sama, semua dependensi yang dapat diandalkan Hapi.js juga diunduh untuk kenyamanan kita.

Menyiapkan aplikasi sampel kami

Sekarang saatnya mengatur file aplikasi Hapi.js basis kami. Ini akan berisi semua kode kami untuk aplikasi. Lebih jauh lagi, kita dapat memperluas kode aplikasi kita, dan menambahkan lebih banyak hal ke dalamnya, sesuai keinginan kita.

Selanjutnya, kita akan membuat file awal kita. Rujuk kembali ke mainbagian package.jsonfile Anda , untuk menentukan dengan tepat bagaimana memberi nama file. Karena saya menggunakan skema penamaan default, file kami akan dipanggil index.js.

nano index.js

Setelah Anda berada di dalam editor teks nano, buat kode aplikasi basis Anda, seperti itu.

const Hapi=require('hapi');
const server=Hapi.server({
    host:'localhost',
    port: 3000
});

server.route({
    method:'GET',
    path:'/',
    handler:((request,h)) => {
        return 'Sample Hapi.js Application';
    }
});
async function start() {

    try {
        await server.start();
    } catch (err) {
        console.log(err);
        process.exit(1);
    }
    console.log(`Our server is running! ${server.info.uri}`);
};

start();

Pertama, kami mengimpor modul Hapi. Kemudian, kita menginisialisasi konstruktor server kita, yang berisi host yang ingin kita jalankan server, serta port, yang 3000untuk tutorial ini. Selanjutnya, kami membuat router dasar, yang menunjukkan bahwa setiap kali seseorang mengunjungi situs, mereka akan disambut dengan pesan sederhana. Untuk melengkapi semua ini, kami memiliki fungsi async, untuk memulai server kami, yang akan masuk ke konsol yang sedang dijalankan oleh server kami. Setelah selesai, simpan dan tutup file ( CTRL+ X)

Sekarang file utama kami sudah diatur, kami siap untuk memulai aplikasi kami.

node index.js

Jika Anda melihat " Our server is running!" di konsol, maka server mulai berhasil.

Instal Nginx

Karena Nginx tersedia di repositori default Ubuntu, instalasinya mudah. Cukup perbarui daftar paket Anda, dan instal.

sudo apt update
sudo apt install nginx -y 

Setelah memperbarui daftar paket, Nginx dan dependensinya akan diinstal.

Konfigurasikan Nginx

Agar Nginx membalikkan proksi aplikasi kita, kita harus membuat file konfigurasi. File konfigurasi ini akan menyimpan informasi tentang aplikasi kita, yang Nginx akan gunakan untuk proksi terbalik.

Hapus konfigurasi default yang dibuat Nginx, karena kami akan menggantinya dengan milik kami nanti.

sudo rm /etc/nginx/sites-enabled/default

Buat file baru di sites-availablefolder. Adapun penamaan, kita bisa berpegang pada sederhana site, untuk kesederhanaan.

sudo nano /etc/nginx/sites-available/site

Dalam file, rekatkan yang berikut, dan simpan.

server {
    listen 80;
    location / {
          proxy_set_header X-Real-IP 
          $remote_addr;
          proxy_set_header 
          X-Forwarded-For 
          $proxy_add_x_forwarded_for;
          proxy_set_header Host 
          $http_host;
          proxy_set_header 
        X-NginX-Proxy true; proxy_pass 
       http://127.0.0.1:3000/;
    proxy_redirect off;
    proxy_http_version 1.1;
    proxy_set_header Upgrade 
     $http_upgrade;
    proxy_set_header Connection 
    "upgrade";
    proxy_redirect off;
    proxy_set_header 
   X-Forwarded-Proto $scheme;
    }
}

Dalam file ini, kami memberitahu Nginx untuk mendengarkan di port 80. Kami juga mengatur proksi lewat ke localhostalamat, dan port 3000, yang merupakan port yang sama dengan aplikasi Hapi kami.

Sekarang Anda dapat menavigasi kembali ke direktori aplikasi Anda, dan memulai situs. Setelah situs dimulai, cukup arahkan ke http://yourdomain.comatau http://yourip, dan Anda akan melihat teks " Hello World".

Instal PM2

PM2 dapat ditemukan di repositori NPM, dan Anda dapat menginstalnya secara global agar dapat diakses dari mana saja, seperti itu.

sudo npm install pm2 -g

The -gbendera di akhir menunjukkan bahwa kita ingin menginstal modul ke folder modul global, yang akan memungkinkan kita untuk menggunakannya di luar direktori proyek kami. Ini digunakan agar proyek kami berperilaku seperti aplikasi sistem normal.

Memulai aplikasi kami dengan PM2

Setelah Anda menginstal PM2, navigasikan kembali ke direktori proyek Anda. Sintaks untuk memulai aplikasi kita akan sedikit berbeda sekarang. Inilah cara kami akan melakukannya dengan PM2.

pm2 start index.js --name site

Kami menggunakan fungsi mulai PM2, yang pada dasarnya membuat profil untuk aplikasi kami, dengan nama site. Setelah menjalankan perintah itu, situs web Anda akan mulai, tetapi Anda akan melihat bahwa log tidak akan ditampilkan. Itu karena cara kita melihat log sekarang berbeda.

pm2 logs site

Anda bahkan dapat menentukan berapa banyak baris log yang ingin Anda lihat, dengan --linesargumen.

Kesimpulan

Anda telah berhasil membuat server web Hapi.js, membalikkannya dengan Nginx, dan belajar bagaimana cara mengelolanya dengan PM2 dengan lebih baik. Dengan pengetahuan ini, Anda dapat memperluas tutorial ini dan membuat aplikasi Hapi.js yang sangat canggih. Untuk mempelajari lebih lanjut tentang kemungkinan Hapi, kunjungi dokumentasi resmi mereka . Jika Anda ingin mempelajari lebih lanjut tentang kemungkinan PM2, lihat panduan memulai cepat mereka .



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