Apa Itu 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.

Sejarah Singkat Nginx

Nginx adalah proyek yang dikembangkan oleh Igor Sysoev (Software Engineer asal Rusia) dan dirilis pada Oktober 2014. Saat itu terdapat masalah yang dikenal dengan nama C10k atau masalah kinerja sistem pada saat menangani 10 ribu koneksi secara bersamaan. Igor mencoba mencoba untuk menyelesaikan permasalahan tersebut.

Jadi Igor membuat Nginx yang menawarkan penggunaan konkurensi tinggi yang dapat menangani ribuan koneksi secara bersamaan dengan penggunaan memori yang rendah. Nginx menggunakan proses asynchronous (mengeksekusi kode sebelum perintah sebelumnya selesai dijalankan) daripada membuat proses baru untuk setiap eksekusi baris kode yang ada.

Tidak hanya menambahkan proses asynchronous, Nginx juga melakukan pendekatan event-driven. Pendekatan event-driven menangani request (permintaan atau proses) di dalam satu thread saja. Melalui berbagai macam teknologi ini Nginx merevolusi bagaimana web server bekerja dan berhasil menjadi web server paling populer sampai dengan saat ini.

Setelah membuka proyek ini secara umum pada 2004 dan melihat penggunaan yang terus meningkat, Igor mencoba mengembangkan Nginx dan memasuki pasar dengan Nginx Plus. Nginx Plus mampu menangani ratusan bahkan ribuan koneksi dan sudah dipakai lebih dari 500 website bisnis di internet.

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 processweb 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

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *