- Apache HTTP Server
- nginx
B. Server HTTP NGINX
1. Apa Itu NGINX ?
Ada banyak penyebutan teknis dalam dunia website, dan salah satunya adalah NGINX. Apa itu NGINX? Dibaca “engine-ex”, NGINX adalah software web server yang open source. Ketika pertama kali dirilis, NGINX hanya berfungsi sebagai HTTP web serving saja. Namun sekarang, software tersebut juga berperan sebagai reverse proxy, HTTP load balancer, dan email proxy untuk IMAP, POP3, dan SMTP.
NGINX secara resmi diperkenalkan pada bulan Oktober 2004. Creator atau pembuat software ini, Igor Sysoev, memulai proyeknya di tahun 2002 untuk menjawab permasalahan C10k problem. C10k sendiri digambarkan sebagai sebuah tantangan yang dihadapi server ketika harus mengelola sepuluh ribu koneksi di waktu bersamaan. Hingga saat ini, jumlah koneksi yang dikelola web server terus bertambah. Karena itulah, NGINX menawarkan arsitektur yang event-driven dan asinkron. Adanya arsitektur ini menjadikan NGINX sebagai salah satu server yang kecepatan dan skalabilitasnya dapat diandalkan.
Karena kecepatan dan kemampuannya dalam menangani jumlah koneksi yang banyak, layanan NGINX kerap digunakan oleh website dengan trafik yang tinggi. Beberapa contoh dari website tersebut adalah Google, Netflix, Adobe, Cloudflare, WordPress.com, dan masih banyak lagi.
2. Cara Kerja NGINX ?
Sebelum mengenal pengertian NGINX lebih jauh, ada baiknya bila Anda mengetahui cara kerja sebuah web server terlebih dulu. Ketika seseorang ‘mengirimkan’ permintaan untuk membuka webpage, maka browser akan menghubungi server website tersebut. Server lalu mencari file webpage yang diminta oleh user tersebut dan mengirimkannya ke browser. Alur ini menunjukkan cara kerja server terhadap 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. Seperti yang telah disebutkan sebelumnya, NGINX menjalankan arsitektur yang event-driven dan asinkron. Hal ini menunjukkan bahwa thread yang sama atau serupa dikelola di bawah satu worker process, dan setiap worker process terdiri atas unit yang lebih kecil dan 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 dapat 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.
3. Kekurangan dan Kelebihan NGINX Web Server
Kelebihan NGINX
Setelah mengetahui apa itu Nginx dan cara kerjanya, sekarang mari kita pelajari apa saja kelebihan yang dimiliki oleh web server ini.
- Penggunaan Resources Lebih Efisien — Nginx adalah software yang ringan dan tidak banyak mengkonsumsi sumber daya atau memori. Pendekatan asynchronous event-driven yang digunakannya juga akan membantu Anda mengefisienkan penggunaan RAM.
- Multifungsi — karena tidak hanya berfungsi sebagai web server saja, Anda tak perlu bersusah payah mengelola tools tambahan untuk mengoptimalkan kerja website Anda. Dan keuntungan lainnya, Anda tak perlu mengeluarkan biaya lebih untuk mengaktifkan tools lain bukan?
- Keamanan — software ini didukung oleh developer handal yang secara teratur mempublikasikan security patches maupun updates, sehingga website Anda dapat terhindar dari DDoS attacks.
- Performa — ketika berbicara tentang static content, Nginx mengungguli kompetitor terdekatnya, Apache. Dan lagi-lagi berkat asynchronous-nya, software ini juga mampu memproses requests lebih baik; terutama ketika server diakses oleh banyak pengguna dalam waktu bersamaan.
Kekurangan NGINX
Nginx juga mempunyai beberapa kekurangan yang patut Anda ketahui, yang diantaranya yaitu:
- Kompatibilitas — Nginx memang kompatibel dengan banyak unix-like systems, akan tetapi performanya di Microsoft Windows tidak sebaik platform lainnya. Selain itu, software ini juga tidak mendukung beberapa sistem operasi seperti IBM i, z/OS, eComStation, dan OpenVMS.
- Dukungan Komunitas Masih Belum Lengkap — software ini mempunyai dukungan dan bantuan komunitas yang lebih sedikit dibandingkan dengan Apache, sehingga beberapa isu belum didukung oleh dokumentasi dan referensi yang memadai.
- Fleksibilitas — jumlah modules dan add-ons yang ditawarkan Nginx juga tidak terlalu komplit. Itulah mengapa web server ini dinilai kurang fleksibel. Nginx juga tidak mendukung kustomisasi koneksi melalui .htaccess tool.
B. Kesimpulan
NGINX adalah web server yang juga berfungsi sebagai email proxy, reverse proxy, dan load balancer. Struktur software ini bersifat asinkron dan event-driven; yang memungkinkan banyak request atau permintaan diproses pada waktu bersamaan. Selain itu, NGINX juga dapat diskalakan. Hal ini menunjukkan bahwa layanan ini tumbuh dan berkembang seiring dengan bertambahnya jumlah trafik yang datang ke website. Akhir kata, NGINX dan Apache adalah dua dari sekian web server terbaik yang ada di pasaran.
Untuk Cara Install Web Server (NGINX) yang ada diartikel saya selanjutnya
Selamat mencoba 😀
Post a Comment
Post a Comment