Nginx: Pengertian, Sejarah, Cara Kerja, Kelebihan, Kekurangan, dan Perbedaannya dengan Apache

Table of Contents

Pengertian Nginx atau engine x

Pengertian Nginx

Nginx (engine x) adalah server HTTP dan Proxy dengan kode sumber terbuka yang bisa juga berfungsi sebagai proxy IMAP/POP3. Nginx terkenal karena stabil, memiliki tingkat performansi tinggi dan minim mengonsumsi sumber daya. Nginx juga memiliki fitur seperti reverse proxy multiple protocols (HTTP, Memcached, PHP FPM, SCGI, uwsgi), Stream HTTP video (FLV, HDS, HLS, MP4) serta HTTP/2 gateway. 

Baca Juga: Pengertian Open Source, Contoh, Kelebihan, dan Kekurangannya

Saat pertama dirilis, NGINX hanya berfungsi sebagai HTTP web serving. Software ini diperkenalkan pada bulan Oktober 2004. Pembuatnya, Igor Sysoev, memulai proyeknya di tahun 2002 sebagai solusi dari permasalahan C10k problem. C10k sendiri adalah masalah yang dihadapi server ketika harus mengelola sepuluh ribu koneksi secara bersamaan.

Karena kecepatan dan kemampuannya dalam menangani banyak koneksi, layanan NGINX sudah banyak digunakan oleh website dengan traffic yang tinggi. Beberapa yang menggunakannya adalah Google, Netflix, Adobe, Cloudflare, WordPress.com, dan masih banyak lagi.

Sejarah Nginx

Nginx pertama kali ditemukan adalah oleh insinyur Rusia yang bernama Igor Sysoev pada tahun 2002. Adapun versi yang paling awal dari Nginx ini adalah 0.1.0 yang dirilis pada bulan Oktober tahun 2004. Perusahaan Nginx ini didirikan oleh Igor Sysoev pada tahun 2011 dan memberikan teknis berbayar bagi pengguna Nginx. Sedangkan pada 20 Maret 2018 versi baru 1.13.10 dari Nginx ini diterbitkan.

Ketika itu timbullah suatu masalah, di mana masalah ini terjadi karena sistem kinerja yang harus menangani 10 ribu koneksi secara bersama-sama atau dikenal dengan C10K. Dari masalah yang timbul ini Igor Sysoev berusaha untuk memecahkannya.

Igor Sysoev membuat Nginx yang bisa memberikan konkurensi tinggi sehingga bisa menangani semua koneksi bahkan ribuan koneksi yang tersambung secara bersamaan walaupun menggunakan memori dengan kapasitas yang rendah.

Dalam Nginx ini Igor Sysoev menambahkan asynchronous yaitu mengeksekusi apa yang telah Kita perintahkan sebelum perintah itu selesai dijalankan. Ditambah lagi dengan Event Driven yang menangani masalah request permintaan secara bersamaan.

Ketika dirasa proyek ini semakin meningkat, kemudian Igor Sysoev membuat Nginx ini semakin berkembang dan telah memasuki pasar dengan Nginx plus. Nginx plus mampu menangani ratusan juga ribuan koneksi hingga sekarang sudah digunakan 500 lebih website di internet.

Cara Kerja Nginx

Ketika seseorang ‘mengirimkan’ permintaan untuk membuka halaman web, browser akan menghubungi server website tersebut. Server lalu mencari file halaman yang diminta oleh user dan mengirimkannya ke browser. Proses ini menunjukkan cara kerja server untuk permintaan atau request sederhana.

Contoh di atas juga bisa disebut sebagai single thread. Web server biasa membuat single thread untuk setiap permintaan, tapi tidak demikian dengan Nginx. Nginx menjalankan arsitektur yang event-driven dan asinkron.

Ini menunjukkan bahwa thread yang sama atau serupa dikelola di bawah satu worker process, dan setiap worker process terdiri atas unit yang lebih kecil, disebut worker connection. Keseluruhan unit ini bertugas untuk menangani request thread.

Worker connection mengirimkan permintaan ke worker process, yang juga dikirimkannya ke master process. Master process kemudian menampilkan hasil dari permintaan atau request tersebut.

Sekilas cara kerja Nginx terlihat mudah, tapi Anda perlu tahu kalau satu worker connection saja bisa menangani hingga 1024 permintaan yang sama dan serupa. Karena itulah, Nginx bisa memproses ribuan permintaan tanpa kesulitan berarti.

Kemampuannya ini pula yang mengantarkannya menjadi server yang kerap digunakan oleh website dengan trafik tinggi, seperti ecommerce, mesin pencari, dan cloud storage.

Kelebihan Nginx

Nginx adalah web server paling populer di kelasnya dan menjadi solusi pengiriman data website dengan trafik tinggi seperti Dropbox, Netflix, dan Zynga. Sampai dengan saat ini lebih dari 385 juta website di seluruh dunia, termasuk di antaranya 100 ribu website bisnis menggunakan Nginx sebagai web server untuk mengirimkan konten mereka secara cepat, terpercaya, dan mudah.

Ada beberapa keunggulan yang ditawarkan oleh Nginx di antaranya,
1. Nginx dapat menggantikan hardware load balancer.
Sebagai perangkat lunak (software) load balancer yang open source, Nginx lebih murah dan mudah untuk dikonfigurasi daripada hardware load balancer. Web server ini juga didesain untuk arsitektur cloud yang modern. Nginx juga mendukung konfigurasi ulang on-the-fly dan terintegrasi dengan DevOps yang modern untuk proses pemantauan yang mudah.

Baca Juga: Load Balancing: Pengertian, Sejarah, Cara Kerja, Jenis, Metode, Kelebihan, dan Kekurangannya

2. Nginx menjadi tool yang multifungsi.
Selain dipakai sebagai web server, Anda juga bisa menggunakan Nginx sebagai load balancer, cache konten, dan server proxy. Karena seluruh konfigurasi berpusat pada satu aplikasi, proses pemantauan akan lebih mudah. Hal ini tentu juga meminimalkan jumlah tool yang Anda kelola.

3. Tersedia berbagai macam dokumentasi yang lengkap.
Jika Anda masih awam menggunakan web server khususnya Nginx, jangan khawatir karena Nginx menyediakan berbagai macam tutorial, webinar, dan dokumentasi yang cukup lengkap untuk Anda pelajari.

Apabila Anda masih kebingungan dengan Nginx, tetapi tetap masih ingin menggunakannya, Anda dapat menggunakan Nginx Plus untuk mendapatkan fasilitas customer support. Jadi Anda bisa mendapatkan bantuan untuk mendiagnosis masalah yang muncul di Nginx.

4. Nginx masih terus dikembangkan.
Nginx sampai dengan saat ini terus dikembangkan secara serius. Apalagi selama satu dekade terakhir Nginx sudah berada di garis depan pengembangan web modern dan telah mendorong pengembangan teknologi dari HTTP hingga dukungan layanan mikro.

Seiring perkembangan pengiriman konten web, Nginx berencana menambahkan dan menyempurnakan fitur sehingga tidak ada pengiriman data yang cacat. Baru-baru ini Nginx juga mengumumkan akan mengimplementasikan JavaScript yang disesuaikan dengan Nginx dan dukungan untuk modul yang dinamis.

Kekurangan Nginx

1. Update yang cukup lama dibanding webserver lainnya.
2. Fast CGI yang tidak berfungsi sempurna.
3. Kadangkala ada masalah pada .htaccess namun hal ini tergantung dari konfigurasi webmasternya sendiri.
4. Pemakai tidak sebanyak Apache / IIS.

Perbedaan NGINX dengan Apache

Berikut berbagai perbedaan antara Apache dengan NGINX di antaranya,
1. Dari segi operation system support (dukungan sistem operasi)
Sebuah software diciptakan oleh perusahaan dengan tingkat kompatibilitas yang berbeda-beda. Apache dan NGINX sama-sama memiliki popularitas tinggi, namun tingkat kompatibilitas mereka berbeda.

Jika Apache dan NGINX dipasangkan pada sistem operasi atau operation system UNIX semacam Linux, maka fungsi mereka akan maksimal. Sebaliknya, jika NGINX diinstall pada sistem operasi Microsoft Windows, akan terjadi penurunan performa karena kompatibilitas yang rendah.

Baca Juga: Pengertian Sistem Operasi, Sejarah, Komponen, Fungsi, Jenis, dan Cara Kerjanya

2.Dari segi performance (performa)
Apache dan NGINX memiliki kelebihan dari berbagai hal, termasuk dari segi performa. Ketika berbicara mengenai kecepatan, keduanya cukup responsible dan mampu menanggapi user request dengan cukup cepat.

Namun ketika berbicara mengenai beban yang dapat dibawa, NGINX jelas lebih unggul. NGINX juga sangat cocok digunakan untuk website dengan tipe statis daripada dinamis.

3.Dari segi user support (dukungan pengguna)
Sebagai software yang memiliki tingkat popularitas tinggi, Apache dan Nginx memang sama-sama memiliki user base. Dari berbagai forum yang sama-sama besar, maka kedua aplikasi tersebut memiliki dukungan yang cukup kuat dan mendukung proses pengembangan secara berkelanjutan.

Baca Juga: Apache Web Server: Pengertian, Fungsi, Cara Kerja, Kelebihan, Kekurangan, dan Perbandingannya dengan Nginx 

Dari berbagai sumber

Download

Aletheia Rabbani
Aletheia Rabbani “Barang siapa yang tidak mampu menahan lelahnya belajar, maka ia harus mampu menahan perihnya kebodohan” _ Imam As-Syafi’i

Post a Comment