Apa itu Nginx?
Nginx adalah salah satu software open source untuk web server, web streaming server, reverse proxying, load balancing, content caching, dll.
Pada awalnya, Nginx hanya berfungsi sebagai web server software atau HTTP server.

Aplikasi ini hadir untuk menjawab kebutuhan web server dengan kinerja dan stabilitas maksimum. Targetnya, aplikasi ini bisa menangani traffic dalam jumlah tinggi di waktu bersamaan dengan memori rendah.
Hingga akhirnya, aplikasi ini jadi salah satu web server populer, menyaingi dominasi Apache.
Beberapa perusahaan besar yang menggunakan aplikasi ini misalnya: Netflix, NASA, WordPress.com, Zoom.us, Airbnb, Pinterest, dll.
Seiring pengembangannya, fungsi Nginx mulai berkembang.
Selain menyediakan versi open source, ada juga Nginx Plus (N+) yang merupakan versi premium dengan banyak fitur eksklusif dan dukungan dari engineer Nginx.
Fungsi Nginx
Orang-orang secara umum mengenal aplikasi ini sebagai web server. Tapi aplikasi ini juga menjalankan peran lain.
Pada poin ini, kami akan membahas peran aplikasi ini baik itu sebagai web server maupun di luar itu.
Nginx sebagai Web Server

Tujuan dari project Nginx yaitu menciptakan server web dengan performa tinggi. Sebuah aplikasi web server yang bisa meningkatkan kecepatan web dan tetap stabil menangani traffic tinggi dalam satu waktu.
Untuk bisa mencapai hal tersebut, aplikasi ini hadir dengan “asynchronous event-driven architecture”.
Pada akhirnya, aplikasi ini mampu mengalahkan Apache dan beberapa web server lain dari sisi performa.
Dalam konteks ini, aplikasi ini juga berkembang. Dari yang awalnya berperan dengan server HTML sederhana kemudian bisa menangani konten yang lebih dinamis dan bervariasi.
Sekarang, aplikasi ini sudah mendukung setiap aspek pada web modern, misalnya: HTTP/2, WebSocket, gRPC, dan video streaming pada berbagai format.
Nginx Beyond Web Serving

Aplikasi ini memiliki arsitektur dasar yang bisa diskalakan. Hal ini ternyata cukup ideal untuk bisa menjalankan banyak hal selain menampilkan konten ke user.
Aplikasi ini memiliki kemampuan untuk menangani koneksi dalam jumlah besar. Maka dari itu, aplikasi ini bisa Anda gunakan sebagai reverse proxy dan load balancing untuk mendistribusikan traffic masuk secara merata ke server upstream yang lebih lambat.
Aplikasi ini juga bisa berperan sebagai terminator SSL/TLS atau web akselerator.
Selain itu, aplikasi ini juga menangani hal-hal seperti mengompresi dan menyimpan content cache supaya kinerja lebih optimal.
Cara Kerja Nginx Web Server
Nginx menggunakan arsitektur asinkron dan event-driven.
Artinya, aplikasi ini akan menangani setiap request dalam satu thread, alih-alih menjadikan setiap request sebagai satu proses baru.

Jadi, sistem ini memiliki satu worker process untuk menangani sekumpulan thread yang serupa.
Dalam suatu worker process terdapat worker connection. Ini merupakan unit yang lebih kecil. Unit inilah yang akan menangani request thread di dalam worker process.
Satu worker connection sendiri bisa menangani banyak request, mencapai 1.024 request sejenis.
Setelah itu, worker process akan meneruskan request ke master process.
Jika melihat dari cara kerjanya, tidak heran apabila aplikasi ini mampu menangani banyak permintaan sekaligus dalam satu waktu.
Karena kemampuannya ini, Nginx cocok untuk web e-commerce, cloud storage, hingga mesin pencari.
Apa Kelebihan Nginx?
Saat ini, aplikasi ini bersaing ketat dengan Apache sebagai web server terpopuler. Sebagai aplikasi yang relatif baru, untuk bisa mencapai titik itu tentu saja butuh banyak kelebihan. Berikut ini adalah beberapa kelebihannya.
1. Efisiensi Penggunaan Sumber Daya
Software ini relatif ringan. Ketika menjalankan tugasnya, aplikasi ini tidak memakan banyak resource.
Dengan arsitektur asynchronous event driven-nya, penggunaan RAM akan lebih efisien.
2. Multifungsi
Aplikasi ini bisa menjalankan banyak peran, tidak hanya sebagai web server. Kami sudah menjelaskannya fungsi-fungsi lainnya di atas.
Semua fungsi tersebut terpusat dalam satu aplikasi. Anda bisa lebih mudah melakukan pemantauan dan pengelolaan.
Selain itu, Anda tidak perlu mengelola tools tambahan dari luar.
3. Keamanan
Tim developer dari aplikasi ini secara teratur melakukan update security patches. Risiko untuk terkena serangan DDoS sangat kecil. Sistem keamanannya cukup andal bahkan dalam setup default.
4. Performa
Secara performa, aplikasi ini cukup unggul dari kompetitornya. Secara statistik, aplikasi ini hanya kalah dari Cloudflare.
Seperti yang kami jelaskan di atas, berkat arsitektur event driven-nya, aplikasi ini tetap andal dan stabil dalam menangani traffic tinggi di satu waktu.
Apa Kekurangan Nginx?
Aplikasi ini juga memiliki kekurangan atau kelemahan di beberapa sektor, misalnya:
1. Kompatibilitas
Sebenarnya aplikasi ini sudah compatible dengan berbagai sistem operasi, baik itu yang berbasis Unix maupun Windows. Sayangnya, performanya di OS Windows sedikit kurang oke, tidak seperti di OS lainnya.
Aplikasi ini juga belum kompatibel dengan beberapa OS, misalnya: IBM i, z/OS, eComStation, dan OpenVMS.
2. Minimnya Dukungan Komunitas
Sebenarnya pihak Nginx sudah menyediakan serangkaian dokumentasi dan tutorial untuk membantu para user-nya.
Tapi karena penggunanya yang masih sedikit, dukungan komunitas sangatlah minim.
Jadi, beberapa isu masih belum bisa tertangani dengan baik.
3. Kurang Fleksibel
Modul dan add-ons pada aplikasi ini juga sangat minim. Di sini, Anda bahkan tidak bisa melakukan kustomisasi melalui .htaccess tool. Hal-hal itu jadi alasan mengapa aplikasi ini terasa kurang fleksibel.
Nginx: High Performance Web Server
Ada banyak opsi software web server. Nginx hadir sebagai salah satu alternatif yang menjanjikan performance terbaik.
Aplikasi ini menerapkan “asynchronous event-driven architecture” yang bisa menangani banyak request di waktu yang bersamaan.
Artinya, web server ini sangat mumpuni untuk menangani website dengan traffic tinggi seperti e-commerce, web streaming, cloud storage, mesin pencari, dll.
Tidak hanya bisa menjadi web server, aplikasi ini juga bisa berfungsi sebagai web streaming, reverse proxying, load balancing, caching, dll.
1 thought on “Apa itu Nginx? Fungsi, Cara Kerja, dan Kelebihannya”
terima kasih atas informasinya, artikel nya sangat membantu