Kemarin kita sudah membahas web server Apache, Sekarang saatnya kita membahas web server lain seperti Nginx, merupakan salah satu komponen penting dalam kinerja sebuah website sehingga seluruh fitur yang ada di dalam website tersebut bisa berjalan dengan baik. Jadi web server itu diperlukan saat membangun sebuah website.
Dikutip dari W3tech tertanggal 24 juni 2021, hingga saat ini Nginx memiliki pengguna sekitar 34.1% sedangkan pesaingnya yaitu Apache hanya di sekitar 33.0%.
Apa Itu Nginx?
Nginx merupakan web server yang diciptakan oleh Igor Sysoev ditahun 2002. Web server tersebut kemudian dikembangkan oleh Igor Sysoev dengan sebuah perusahaan Nginx Inc. Web server ini dikembangkn karena melihat adanya permasalahan pada kinerja server saat menangani puluhan ribu trafik atau request dari user sekaligus. Nginx adalah software web server yang open-source berfungsi sebagai sebuah reverse proxy, penyeimbang beban pada HTTP, dan proxy email untuk protokol IMAP, POP3, dan SMTP.
Pada awalnya, Nginx hanya digunakan untuk server berbasis HTTP. Tapi dengan Perkembangan zaman dan teknologi, Nginx ini juga dapat dimanfaatkan untuk load balancing juga (HTTP, TCP, dan UDP dengan struktur event-driven), dapat juga mengolah server proxy (IMAP, POP3, & SMTP), serta HTTP cache.
Bukan itu saja, Nginx ini juga membantu jalannya beberapa sistem operasi yang sering kita digunakan, mulai itu dari Mac OS, Linux, HP-UX, hingga os Solaris sekalipun. Selain itu, Nginx juga dipercaya diberbagai perusahaan raksasa, seperti IBM, Google, Facebook, Twitter, Apple, Adobe, LinkedIn, sampai dengan Microsoft.
Salah satu daya tarik terbesar dari Nginx adalah sifatnya sebagai server HTTP serta Proxy freeware dan juga open source. Itulah yang menyebabkan banyak orang memanfaatkan Nginx sebgai server website mereka.
Terlebih lagi, Web server Nginx ini mudah digunakan, bisa digunakan di berbagai sistem operasi, serta dapat dikonfigurasi dengan sangat mudah. Selain itu, Nginx ini juga bisa dikombinasikan dengan HTTP yang kita digunakan, Ngiz ini juga didukung dengan keamanan baik, serta memiliki pengelolaan konsumsi sumber daya yang terbilang efektif dan efisien.
Cara Kerja NGINX
Setelah kita tau apa itu Nginx, kita juga sebaiknya mengetahui cara kerja dari web server ini.
Ketika ada seseorang yang ‘mengirimkan’ permintaan untuk membuka sebuah halaman web kita, browsernya akan menghubungi server website kita. Lalu Server kita mencari file halaman yang diminta oleh user tersebut, kemudian mengirimkannya ke browser user. Proses ini merupakan cara kerja yang sederhana.
Contoh dari penjelasan diatas ini juga disebut sebagai single thread. Web server biasa membuat single thread disetiap permintaan, tapi tidak dengan web server Nginx.Nginx ini menjalankan arsitektur yang event-driven dan asinkron.
Dari penjelasan diatas menunjukkan kalau thread yang sama ataupun serupa itu dikelola dibawah satu worker process, Nah tiap worker process ini terdiri atas unit-unit yang lebih kecil, kita menyebutnya worker connection. Dari keseluruhan unit ini tugasnya untuk menangani request thread. Jadi Worker connection ini mengirimkan sebuah permintaan ke worker process, yang akan dikirimkannya ke master process. Kemudian master process ini menampilkan hasil dari permintaan atau request dari user tersebut.
Sudah Paham atau bingung ? :)
Memang kalau dilihat cara kerja dari Nginx ini terlihat mudah, tapi kita perlu mengetahui kalau satu worker connection saja dapat menangani sampai 1024 permintaan yang sama dan serupa. Oleh karena itulah, Nginx ini bisa memproses ribuan bahkan ratusan ribu permintaan tanpa mengalami kesulitan (down). Kemampuannya inilah yang bisa mengantarkannya Nginx menjadi server yang populer digunakan oleh website dengan trafik tergolong tinggi, seperti ecommerce, mesin pencari, serta cloud storage.
Dalam pekerjaannya, Nginx ini mempunyai banyak fitur yang bisa kita manfaatkan untuk mendukung kinerja dari web server, seperti:
- Load Balancing
- Terdapat dukungan IPv6
- Dapat melakukan reverse proxy dengan dukungan cache
- Bisa menangani file statis, file index, ataupun auto-indexing
- Terdapat dukungan WebSockets
- Adanya TSL/Sertifikat SSL dengan Server Name Indication atau singkatannya SNI
- Mendapatkan dukungan dari FastCGI dengan proses cache
Kelebihan Nginx
1. Menjadi Software dan Hardware Load Balancer
2. Mempunyai banyak Tools
3. Terdapat Berbagai Dokumentasi
4. Nginx Akan terus Update
Nginx vs Apache
- Support berbagai sistem operasi; Mau itu Nginx atau Apache, keduanya sama-sama bisa dioperasikan di berbagai sistem operasi, layaknya Windows dan Unix. Meskipun memang kalau yang namanya persamaan itu terbilang baik, tapi pada kenyataannya Nginx kurang optimal jika dijalankan di OS Windows.
- Support Komunitas; Nginx serta Apache memiliki sebuah base komunitas yang besar. Hal ini dapat kita temui di internet.
- Performa dan Modul; Nah, Kalau bicara tentang Peforma, Nginx masih yang terbaik untuk menghandle ribuan permintaan koneksi dalam satu waktu berturut-turut, sedangkan Apache sendiri terbukti masih belum mampu melakukannya. Walaupun begitu, Modul yang ditawarkan oleh Nginx tidak sebanyak modul yang ditawarkan Apache.
Posting Komentar