Pengertian Nginx dan Kelebihannya

Apa itu Nginx? Berikut ini Pengertian Nginx dan Beserta Kegunaannya

Bagi Anda yang tidak berkecimpung di bidang programming ataupun bisnis internet akan terdengar asing dengan istilah Nginx. Apa itu Nginx? Apa kegunaannya?

Bagi Anda pelaku bisnis internet, sering Anda temukan istilah web hosting, server, web server, dan semacamnya. Pada era informasi ini banyak kita temukan variasi layanan web hosting baik yang lokal maupun dari luar negeri terutama dari Amerika Serikat (AS), dimana teknologi internet terus dikembangkan. Di negara AS sendiri perusahaan pengembang web hosting sudah begitu banyak, sehingga developer web dihadapkan pada banyak pilihan. Nginx sudah lama menjadi bagian dari sistem bisnis internet, Nginx menjadi bagian dari web hosting itu sendiri.

Apa itu Nginx?

Untuk menjalankan sebuah sistem web hosting, seorang developer web host memerlukan sebuah perangkat web server. Di antara sekian banyak produk para pengembang web server, terdapat satu nama web server yang terkenal yaitu Nginx. Nginx merupakan kompetitor dari web server pendahulunya, yaitu Apache dan Google.

Dalam 10 tahun terakhir (sejak tahun 2009), persentase minat pengembang web host terhadap penggunaan Nginx meningkat pesat seiring dengan menurunnya grafik minat pengembang web host terhadap Apache dan Google. Bisa dibilang Nginx merupakan pesaing Apache, meskipun pada praktiknya, beberapa web server perlu untuk melakukan penggabungan antara Nginx dengan Apache.

Apa itu Nginx?

Sumber: Netcraft

Apa itu web server Nginx?

Nginx dibaca sebagai “engine-ex”, merupakan sebuah perangkat lunak web server yang dirilis sebagai open source. Selain dikenal sebagai web server, Nginx juga dikenal sebagai reverse proxy, HTTP cache, dan load balancer. Banyak perusahaan-perusahaan berbasis teknologi komputer berskala besar di seluruh penjuru dunia memilih menggunakan web server ini, diantara nama-nama perusahaan tersebut yang sudah masyhur adalah Google, Twitter, Facebook, LinkedIn, Apple, Microsoft, Intel, Cisco, Adobe, IBM, Xerox, dan masih banyak lagi.

Nginx dirancang dan dibuat oleh pria berkewarnegaraan Rusia bernama Igor Sysoev, pertama dipublikasikan pada Oktober 2004. Pada awalnya Nginx ini dirancang berdasarkan pemahaman Igor terhadap masalah C10K (artinya 10.000 koneksi yang berlangsung secara bersamaan). Igor berharap Nginx dapat menjadi sebuah jawaban akan masalah performa C10k tersebut.

Apa saja kegunaan Nginx itu?

nginx-amplify

Nginx berfungsi sebagai web server, yaitu mensimulasikan perangkat komputer sebagai mesin penyedia layanan halaman web. Sama halnya seperti Apache, perbedaan mendasarnya terletak pada pengalokasian files yang diterima dari web client dan metode penggunaan memori-nya.

Oleh pengembangnya, file setup Nginx di-package dan dikompilasikan untuk tiga (3) platform sistem operasi, yaitu Windows, Linux, dan Mac. Sehingga user dari ketiga sistem operasi tersebut dapat menggunakannya dengan leluasa. Agar dapat menggunakan Nginx ini, paling sedikit user harus punya pengetahuan tentang konsep web client – web server, berangkat dari pemahaman konsep itu, akan lebih memudahkan user dalam memanfaatkan fitur-fitur pada Nginx.

Bagi pengguna Windows yang sudah familiar dengan Apache baik yang stand-alone installation maupun yang satu bundle dengan Bitnami XAMPP, dapat Anda analogikan Nginx ini seperti Apache tersebut, namun dalam kemasan dan cara kerja yang sedikit berbeda, serta dengan performa transaksi data yang lebih cepat. Anda dapat mempraktikkan bagaimana cara kerja dengan Nginx menggunakan WinNMP.

Cara kerja sistem Nginx ini bila kita analogikan sebagai sistem operasi, ada bagian-bagian di dalam sistem Nginx ini yang bekerja selayaknya ruang swap pada sistem operasi Linux, atau extended memory pada sistem operasi Windows. Nginx bekerja seperti tempat penyimpanan memori sementara, sehingga memori RAM pada web server utama tidak kelebihan beban files. Dengan metode alokasi files seperti ini, maka tumpukan dan antrian request files dari web client kepada web server dapat diproses tanpa banyak terjadi pembebanan di memori RAM. Inilah kenapa Nginx disebut sebagai web server yang dinamis. Dalam masalah performa, Nginx lebih cepat beberapa level di atas Apache.

Kelebihan Nginx dibandingkan web server Apache

Apa saja kelebihan Nginx itu? Sebelum membahas mengenai kelebihan ataupun kekurangan Nginx, kita memerlukan software web server lain sebagai perbandingan. Ada tiga (3) software web server yang populer serta banyak digunakan web developer di Indonesia, yaitu Nginx, Apache, dan Cloudflare.

Kemudahan akses halaman web yang dirasakan web client ataupun pengguna internet tidak akan lengkap tanpa adanya jaminan keamanan transaksi data. Jalur lalu lintas data antara web server dan web client perlu dijamin keamanannya. Berkaitan dengan hal tersebut, Nginx sudah mendukung untuk Transport Layer Security (TLS) versi 1.3, versi terbaru di tahun 2019 sekarang ini.

TLS merupakan sebuah teknologi keamanan digital yang memperbolehkan transaksi data antara web server dengan web browser (yang digunakan user/web client) agar dienkripsi. Transaksi data yang dienkripsi akan menjamin keamanan data dari pencurian data dan aktivitas hacking semacamnya.

tls-protocol

Kelebihan Nginx lainnya adalah dalam hal performa. Nginx tidak menggunakan memori RAM sebagai media penyimpanan data sementara yang utama, namun ia menggunakan suatu metode yang dinamakan asynchronous. Cara kerjanya yaitu master process mengontrol worker process, web request baru tidak akan terganggu oleh web request yang lebih dahulu.

Berikut ini fitur-fitur Nginx yang dapat dimanfaatkan untuk mendukung performa web.

  1. Reverse proxy dengan proses cache
    Dalam teori jaringan komputer, reverse proxy adalah server yang berhadapan langsung dengan web server dan web client (melalui web browser) yang melakukan request file terhadap web server. Dengan implementasi untuk membantu mengoptimalkan tingkat keamanan, performa, dan reliabilitas.
  2. Dukungan IPv6
    IPv6 memiliki struktur alamat yang berbeda dengan IPv4, yaitu dengan panjang 128-bit dan ditulis dengan 8 grup hexadecimal.
  3. Load balancing
    Load balancing adalah teknik untuk distribusi beban trafik kepada dua atau lebih jalur koneksi secara balance atau seimbang.
  4. Dukungan FastCGI dengan proses cache
    FastCGI (Fast Common Gateway Interface) adalah protokol binary untuk menghubungkan program (misalnya web browser) dengan web server secara interaktif.
  5. Websockets
    WebSocket adalah sebuah protokol komunikasi komputer, fungsinya menyediakan media sambungan komunikasi full-duplex melalui koneksi TCP (Transmission Control Protocol) tunggal.
  6. Menangani file statis, file index, dan auto-indexing

Kekurangan Nginx dibandingkan web server Apache

Berikut ini kekurangan Nginx dibandingkan Apache ataupun web server lainnya.

  1. FastCGI yang tidak berfungsi sempurna.
  2. Kadangkala ada masalah pada .htaccess namun hal ini tergantung dari konfigurasi webmaster-nya sendiri

Ada banyak isu yang beredar di beberapa forum yang membahas soal .htaccess pada Nginx, banyak yang mengalami masalah di bagian editingnya. Ada yang mengungkapkan bahwa Nginx tidak begitu kompatibel untuk ‘share-hosting‘ karena ‘rewrite-rule‘nya di-‘embed‘ langsung ke dalam ‘config‘. Berbeda dengan Apache yang cukup langsung dilakukan di .htaccess. Solusinya adalah mengimplementasikan nginx-proxy, yaitu menempatkan Nginx sebagai ‘front web-server‘ dan Apache sebagai ‘backend‘.

Leave a Reply

Send this to a friend