cara install nginx di vps

Cara Install Nginx di VPS

Taufiksi – Halo cuy, udah mulai pusing tentang devops ? Santai aja, ada saatnya jago kok, nahh kebetulan disini kita akan coba install nginx di vps.

Sebelumnya udah baca cara deploy aplikasi next js belum ? Sebenernya disitu juga ada cara installnya. Yahh itung itung ini artikel tambahan lah karena disitu juga belum dijelasin apa itu nginx dan lain lain kan.

Dan juga pasti nantinya artikel ini akan berguna ketika saya ingin membuat artikel deploy deploy aplikasi stack lain wkwkw, tinggal di link, ehh masuk ke sini kan, jadinya ngga perlu ngejelasin panjang lebar lagi nantinya.

Okelah daripada kelamaan kan, pasti udah ngga sabar sih. Kalo ada yang cuma butuh cara install nginx di vps aja bisa langsung kebawah. Karna mau basa basi dulu wkwkwk.

Jadi nih, awalnya tuh tujuan di ciptakannya nginx adalah sebagai salah satu solusi dari sebuah permasalahan C10k problem. Apa itu ? C10k adalah sebuah masalah yang biasa dihadapi oleh server ketika harus mengelola 10rb connection secara bersamaan.

Dan kabarnya sampai saat ini, jumlah koneksi yang dikelola web server terus bertambah. Oleh karena itu, NGINX menawarkan arsitechture asynchronus dan yang bisa di dasari oleh event.

Adanya arsitechture ini menjadikan NGINX menjadi salah satu server dengan kecepatan dan skalabilitas yang paling baik.

Nah karena speed dan kemampuannya dalam menangani banyak conection, NGINX sudah banyak sekali digunakan oleh website dengan trafic yang tinggi, contohnya seperti google, netflix dan masih banyak lagi.

Cara Kerja NGINX

Yahh sebelum kita ke cara install nginx di vps, mungkin lebih baik untuk kita tau terlebih dahulu cara kerja dari nginx ini kan.

Ketika seseorang nih melakukan request untuk membuka halaman website, maka browser akan menghubungi server website tersebut.

Kemudian server mencari file halaman yang di request oleh seseorang tadi dan mengirimkannya kembali ke browser. Proses ini adalah menunjukan cara kerja dari server untuk sebuah request yang sangat sederhana.

Contoh diatas juga biasa disebut dengan single thread. Web server biasa membuat single thread untuk setiap permintaan, namun tidak bagi nginx.

Seperti yang sudah dijelaskan diatas tadi ya, nginx menjalankan sebuah arsitechture yang event-driven dan asynchronus, kalau programmer javascript pasti ngga asing dengan async wkwk.

Hal itu juga menunjukan bahwa thread yang sama atau serupa dikelola dibawah satu worker process dan setiap worker tersebut terdiri dari unit yang lebih kecil atau biasa disebut dengan worker connection.

Keseluruhan unit ini bertugas untuk menangani request thread. WC mengirimkan request ke worker process yang juga dikirimkan ke master process. Lalu master process menampilkan hasil dari permintaan dari hasil request tersebut.

Jika melihat secara sekilas cara kerja dari nginx terlihat mudah yaa, tapi kita juga harus tau jika satu worker connection saja bisa menangani hingga 1024 permintaan yang sama dan serupa.

Oleh karena itulah, nginx bisa memproses ribuan request tanpa adanya hambatan. Kemampuan ini pula yang membuat nginx menjadi server yang sering digunakan oleh website dengan trafict yang tinggi, sekelas eccomerce dan search engine.

Ada satu lagi nih, ketika menjalankan tugasnya, web server nginx juga mempunyai beberapa fitur yang bisa dimafaatkan untuk mendukung performa web server seperti berikut ini :

  • Reverse proxy
  • Dukungan IPv6
  • Load Balancing
  • Websocket
  • Bisa menghandle file statis, index dan auto-indexing
  • TLS/Sertifikat SSL

Dengan fitur fitur tersebut pastinya membuat developer menjadi nyaman dan mudah untuk urusan devops.

Kelebihan Nginx

Yahhh, saya masih pengin basa basi cuy, nanti dulu ya kalo mau tau cara install nginx di vps bisa langsung aja di bawah, kan ada navigation juga di sidebar jadi gampang wkwk.

Nginx dan vps emang kayaknya adalah perpaduan yang sempurna sih. Nah berikut ini adalah beberapa kelebihan yang bisa kita ambil ketika menggunakan nginx untuk web server kita.

1. Populer

Nginx memang sudah tidak diragukan lagi, saat ini nginx adalah salah satu web server yang sangat populer dan banyak digunakan oleh developer.

Nginx sudah menjadi pedoman untuk solusi pengiriman data website denganh trafict tinggi, bahkan sekelas dropbox, netflix dan lain lain menggunakan nginx.

Mereka aja menggunakan nginx masa kamu engga wkwkw.

2. Nginx Menjadi Alat Multifungsi

Selain bisa dipakai menjadi web server, beberapa fungsi nginx adalah sebagai load balancer, cache konten dan server proxy.

Karena semua konfigurasi centernya pada satu aplikasi, proses pemantauan akan jauh lebih mudah. Hal ini juga meminimalisir jumlah alat yang kita kelola.

3. Nginx Bisa Menggantikan Hardware Load Balancer

Ketika menjalankan fungsi nginx sebagai software load balancer yang open source, nginx memang lebih mudah untuk dikonfigurasi daripada hardware load balancer.

Web server nginx juga didesain untuk arsitechture cloud yang modern. Nginx juga mendukung konfigurasi ulang on the fly dan terintegrasi dengan devops yang modern untuk proses monitoring yang lebih mudah.

4. Dokumentasi Nginx Lengkap

Jika kita masih kosong, tidak tau apa apa tentang nginx, ngga perlu panik karena nginx merupakan web server yang menyediakan berbagai macam tutorial, webinar dan dokumentasi yang lengkap.

Jika kita masih bingung nih dengan nginx, tapi masih ingin menggunakannya kita bahkan bisa menggunakan nginx plus untuk mendapatkan fasilitas customer support.

5. Nginx Akan Terus Berkembang

Nginx adalah sebuah web server yang sampai detik ini terus di kembangkan secara serius. Apalagi beberapa tahun belakangan ini nginx sudah menjadi garda terdepan pengembangan website modern dan sudah mendorong perkembangan teknologi dari http hingga dukungan layanan microservice.

Dengan hal tersebut, seiring dengan perkembangan pengiriman konten website, nginx berencana menambah fitur sehingga tidak ada pengiriman data yang cacat supaya bisa menjalankan fungsi nginx dengan sempurna.

Bahkan sekarang nginx sudah bisa digunakan oleh banyak module module javascript supaya menajdikan website lebih dinamis.

NGINX VS Apache

Ketika kita sudah mengetahui cara kerja dan apa saja kelebihan dari nginx maka saatnya kita membandingkannya dengan apache.

Diantara web server yang makin lama menjamur di internet. Apache adalah salah satu kompetitor terberat nginx. Server tersebut sudah beredar sejak tahun 90an, asiikk kek bukunya siapa ya wkwkw.

Berikut ini adalah beberapa hal yang akan kita bandingkan oleh keduanya.

1. OS Supporting

Kompabilitas adalah salah satu poin yang harus kita pertimbangkan ketika kita memilih sebuah software. Baik itu nginx maupun apache kedua server tersebut bisa dijalankan di berbagai sistem operasi yang mendukung Unix.

Namun sangat disayangkan performa nginx di windows tidak sebagus jika di aktifkan pada os lain seperti contohnya linux, nanti kita juga akan menginstall nginx di vps linux.

2. User Support

User, baik pemula maupun yang sudah berpengalaman, selalu membutuhkan panduan dari komunitas online yang besar dan solid jika mereka menemukan error ataupun masalah lainnya.

Meskipun nginx dan apache ini sama sama dilengkapi dengan mailing support dan forum di stackoverflow, apache tidak mempunyai fitur bantuan yang seharusnya ditawarkan oleh company apache foundation.

3. Performa

Nginx bisa menjalankan 1000 koneksi konten statis diwaktu bersamaan dengan kecepatan dua kali lebih tinggi dibandingkan dengan apache.

Tidak hanya itu nginx juga tidak menggunakan kapasitas memori yang berlebih. Jika membandingkan dua platform ini dari segi performa ketika menjalankan konten yang dinamis, baik nginx maupun apache mempunyai kecepatan yang sama.

Hanya saja untuk website yang cenderung statis nginx adalah juaranya.

Cara Install Nginx di VPS Linux

Yeah, karena saya sudah mulai mengantuk, mari kita selesaikan artikel ini dengan memberitahukan gimana caranya install nginx di vps linux.

Gampang aja sih untuk menginstallnya. Tapi mari kita buat sedikit lebih panjang wkwkw. yahh biar ngga membosankan kita kasih gambar terlebih dahulu ya hahaaaa.

install nginx

Haha, booom. Mari kita mulai cara install nginx di vps tercinta kita.

1. Persiapkan System

Yaa kamu bisa menggunakan digital ocean, karena memang disana bisa membeli vps hanya seharga 4$, kalau mau nyoba karna penasaran.

Jadi berikut ini adalah beberapa persiapan yang perlu di siapkan, eleh ngomong apa sih. Ya intinya gitu dah. Kalau cara memilihnya bisa liat di artikel deploy next js dah, mager nulis ulang wkwkw.

  • OS Ubuntu
  • 1 Core
  • 2 RAM
  • 35 GB Disk Usage

2. Update Repository

Lakukan update package pada ubuntuk server dengan menggunakan perintah sebagai berikut :

$ sudo apt update

3. Install Nginx

Kemudian untuk selanjutnya adalah install nginx, lakukan dengan perintah sebagai berikut :

$ sudo apt install nginx

4. Konfigurasi UFW

Sebenernya, ketika kita sudah install nginx itu, server sudah berjalan, namun karena kita anak baik dan soleh, kita lanjutkan sampai dengan konfigurasi UFW.

Masukan perintah berikut :

$ sudo ufw app list

Maka akan menghasilkan output sebagai berikut :

Output
Available applications:
             Nginx Full
             Nginx HTTP
             Nginx HTTPS
             OpenSSH

5. Open Port 80

Langkah langkah selanjutnya nanti adalah opsional, mau dilaksanakan atau ngga terserah, tapi sampai disini seharusnya kita sudah bisa open server, masukan saja di browsermu IP yang di kasih oleh penyedia layanan vps.

Namun lebih afdolnya kita masukan perintah ini :

$ sudo ufw allow 'Nginx HTTP'

5. Cek Status UFW

Kemudian untuk memastikan bahwa nginx sudah dijalankan di ubuntu kita bisa melihat statusnya melalui perintah berikut ini :

$ sudo ufw status

Dan saat perintah tersebut di jalankan maka akan menghasilkan tampilan kurang lebih sebagai berikut ini :

Output
Status: active
To                         Action      From
 --                         ------      ----
 OpenSSH                    ALLOW       Anywhere                  
 Nginx HTTP                 ALLOW       Anywhere                  
 OpenSSH (v6)               ALLOW       Anywhere (v6)             
 Nginx HTTP (v6)            ALLOW       Anywhere (v6)

6. Cek Status Nginx

Langkah langkah ini untuk pengecekan saja sih, dan untuk memastikan bahwa nginx kita sudah berjalan, kita bisa menggunakan perintah ini :

$ systemctl status nginx

Jika semuanya berjalan, maka akan tampil informasi berikut ini:

Output
 ? nginx.service - A high performance web server and a reverse proxy server
    Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
    Active: active (running) since Fri 2020-02-20 16:08:19 UTC; 3 days ago
      Docs: man:nginx(8)
  Main PID: 2369 (nginx)
     Tasks: 2 (limit: 1153)
    CGroup: /system.slice/nginx.service
            ??2369 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
            ??2380 nginx: worker process

7. Testing

Ketika kita sudah melakukan pengecekan tidak berguna tersebut, maka selanjutnya kita lakukan test pada IP yang sudah dikasih oleh penyedia vps.

Kurang lebih tampilannya seperti ini nantinya:

Penutup

Oke. sudah puas ? sama sih saya juga puas membuat artikel ini. sampai jumpa di artikel berikutnya babai.




Terima kasih sudah membaca artikelnya.
Support kopi ☕ darimu sangat berarti untuk-ku
Biar makin semangat dan kuat begadang

Tertanda Sayang

👨🏻‍🎓

Taufik Nurhidayah
Traktir Kopi

Leave a Reply

Your email address will not be published. Required fields are marked *