Rabu, 05 Mei 2021

10 Web Server Open Source Terbaik Untuk Linux

Tags

web_server_linux


Istilah server web merujuk pada perangkat keras atau perangkat lunak yang digunakan untuk menyajikan konten kepada pengguna atau klien melalui HTTP.

Server web mengalami peningkatan konstan sejak awal 90-an. Ada berbagai jenis server web, dan dapat dibangun untuk kebutuhan khusus, untuk teknologi tertentu, atau sebagai opsi khusus untuk perusahaan tertentu.

Artikel ini akan mencantumkan beberapa proyek server web open source yang andal dan populer yang tersedia untuk diinstal dan menjalankan aplikasi atau situs web Anda.

Web Server Open Source Untuk Linux

1. Apache HTTP Web Server

Dirilis pada tahun 1995, ini adalah server web paling populer. Menurut statistik penggunaan server web dari w3tech.com, Apache mendukung sekitar 33,9% aplikasi web dan situs web di World Wide Web. Berjalan di semua sistem operasi populer seperti Linux, Unix-like, Windows, Mac OS X, FreeBSD, Solaris, Novell Netware, OS / 2, dll.

Apache HTTP ditulis dalam bahasa C dan menggunakan arsitektur modular yang sangat dapat disesuaikan, dan dapat memuat modul tambahan untuk memperluas fiturnya. Di dalamnya termasuk mod_proxy, yang memungkinkan proxy/gateway di server, mod_proxy_balancer akan mengaktifkan load balancing untuk semua protokol yang didukung, mod_file_cache untuk caching, mod_ftp untuk dukungan FTP untuk upload dan download, atau mod_ssl untuk dukungan protokol enkripsi SSL / TLS. Modul penting lainnya termasuk modul proxy (mod_proxy), mod_rewrite (modul penulisan ulang URL), mod_include, dan mod_ext_filter.

Apache juga memiliki fitur metode kompresi populer yang termasuk dalam modul ekstensi eksternal, mod_gzip. Web Server Apache telah dibangun untuk membantu mengurangi ukuran halaman Web yang disajikan melalui HTTP. File log kustom (mod_log_config) mengelola file log yang dapat dianalisis melalui browser Web. Fitur ModSecurity untuk mengelola deteksi intrusi dan pencegahan untuk aplikasi Web.

Fitur:
  • Memuat modul dinamis dan menangani file statis.
  • Dukungan untuk HTTP/2 (mod_http2), IPv6, dan kompresi.
  • Pencatatan dan rotasi khusus, geolokasi berbasis alamat IP.
  • Dukungan untuk pelacakan sesi, dukungan CGI, FTP, dan dukungan XML.
  • Menerapkan konkurensi tinggi menggunakan mode MPM dan FastCGI.
  • Penulisan ulang URL, otentikasi terperinci, dan kontrol akses otorisasi.
  • Toleransi kesalahan dan penanganan failover.
  • Mengimplementasikan konfigurasi per direktori melalui file .htaccess.

  • Pada versi 2.4, Apache mendukung HTTP/2 melalui mod_http/2, yang meningkatkan kinerja. Apache dianggap sedikit lebih lambat daripada Nginx (asynchronous, web-server event-driven), tetapi saat ini pengguna mulai merasakan peningkatan kinerja sejak Apache 2.2.

    2. Apache Tomcat Web Server

    Apache Tomcat adalah server web enterprise populer, dibangun untuk menghosting solusi berbasis web Java yang penggunaannya relatif umum di organisasi besar karena skalabilitas tinggi, kinerja, dan jumlah alat yang tersedia untuk ekosistem Java. Apache Tomcat adalah server web matang hasil kreasi James Duncan Davidson dari Apache foundation. Tomcat telah dikembangkan selama lebih dari 20 tahun yang lalu oleh yayasan perangkat lunak Apache sebagai server web Apache.

    Tomcat adalah servlet Java yang dilengkapi dengan fungsionalitas tambahan untuk berinteraksi dengan servlet Java, dan mengimplementasikan spesifikasi teknis seperti JavaServer Pages (JSP) dan Java Expression Language (Java EL).

    Tomcat dibuat dari beberapa komponen seperti Coyote, Catalina, Jasper, Cluster, dll. Catalina adalah wadah servlet, sedangkan Coyote adalah komponen konektor yang mendukung HTTP 1.1. sebagai server Web. Ini memungkinkan Catalina (Java servlet atau kontainer JSP) untuk bertindak sebagai server Web yang menyajikan file lokal sebagai dokumen HTTP. Jasper adalah mesin JSP Tomcat, dan mem-parsing file JSP untuk mengompilasinya menjadi kode Java sebagai servlet. Komponen Cluster mengelola aplikasi besar melalui teknik load balancing dan lainnya.

    Anda dapat menjalankan Apache Tomcat bersama Apache HTTP untuk memfasilitasi proyek dengan Java dan PHP. Tomcat juga mendukung AWS (Amazon Web Services), menjadikannya ideal untuk solusi berbasis cloud. Eclipse IDE mendukung Tomcat, memudahkan pengembang untuk membuat dan menerapkan aplikasi.

    Fitur:
  • Ringan, sangat stabil, dan sangat fleksibel.
  • Memiliki tingkat keamanan ekstra, hosting virtual TLS.
  • Mendukung perlindungan dan deteksi kebocoran memori aplikasi web.
  • Mendukung HTTP / 2 dan OpenSSL.
  • Kemampuan IO tingkat lanjut dan pengelompokan yang difaktorkan ulang.


  • Server web Apache Tomcat adalah pilihan yang lebih baik untuk aplikasi berbasis web Java. Apache Tomcat sering terdaftar di antara server aplikasi Java sumber terbuka lainnya seperti JBoss, Wildfly, dan Glassfish.

    3. Nginx Webserver

    Nginx dibaca 'Engine-x' adalah server web open source, berperforma tinggi, dan tangguh. Dapat digunakan sebagai load balancer, reverse proxy, server proxy IMAP / POP3, dan gateway API. Igor Sysoev mengembangkannya pada tahun 2002 sebagai jawaban atas C10K problem. C10k adalah masalah mengoptimalkan soket jaringan dan server web untuk menangani sepuluh ribu koneksi dan klien secara bersamaan. Nginx semakin populer dengan sekitar 33,7% penggunaan dari semua situs web.

    Nginx mengandalkan arsitektur berbasis asinkron untuk menangani sesi serentak dalam jumlah besar. Hal ini telah menjadi populer di kalangan administrator karena pemanfaatan sumber daya yang rendah, konkurensi tinggi, dan skalabilitas. Nginx sangat ideal untuk menghosting situs web trafik tinggi, dan dapat menangani hingga 500.000 permintaan per detik dengan pemanfaatan CPU yang rendah.

    Nginx dapat digunakan sebagai server Web mandiri atau sebagai server konten statis di depan server web lain. Selain itu, Anda dapat menerapkan Nginx untuk menyajikan konten HTTP dinamis di jaringan menggunakan penangan SCGI untuk skrip, FastCGI, server aplikasi WSGI, atau Phusion Passenger modules.

    Fitur:
  • Mendukung TLS / SSL, OCSP stapling, gRPC, IPv6, dan HTTP/2.
  • Dapat menangani lebih dari 10.000 koneksi bersamaan dengan memori CPU rendah.
  • Mendukung proxy SMTP, POP3, dan IMAP.
  • Dapat dikonfigurasi sebagai reverse proxy untuk mengimplementasikan caching.
  • Mendukung filter arsitektur modular seperti gzipping, byte ranges, respons chunked, XSLT, SSI, transformasi gambar.
  • Mendukung alamat IP dan server virtual berbasis nama.
  • WebSockets, keepalive, dan koneksi pipelined.


  • Nginx memiliki dua versi yang sudah mapan, OSS Nginx dan Nginx Plus. Nginx Plus menawarkan fitur tambahan seperti active health check, persistensi sesi, integrasi DNS-service-discovery, Datalog, plugin Dynatrace New Relic, API pembersihan cache, AppDynamic, Active-Active HA dengan sinkronisasi konfigurasi. Nginx Plus API mendukung penyimpanan key-value.

    Nginx dirancang untuk bersaing dengan server Apache untuk menyajikan file statis, menggunakan lebih sedikit memori, dan solusi untuk masalah c10k. Untk kategori ini dapat dikatakan nginx berhasil mengalahkan Apache. Itulah mengapa nginx digunakan oleh situs web lalu lintas tinggi populer seperti Facebook, LinkedIn, dan Twitter. Pelajari lebih lanjut tentang proyek ini di web resmi Nginx.

    4. Node.js Webserver

    Node.js adalah lingkungan runtime sisi server yang digunakan untuk membangun aplikasi web dalam Javascript. Dibundel dengan modul HTTP untuk memperluas fungsinya sebagai server web. Node.js awalnya ditulis pada tahun 2009 oleh Ryan Dahl dan saat ini menguasai 1,2% dari semua situs web.

    Node.js mengimplementasikan arsitektur berbasis event yang mampu menjalankan I/O asinkron. Hal ini mengoptimalkan throughput dan skalabilitas, dan Anda dapat mengimplementasikan komunikasi real-time secara efektif dalam aplikasi web. Perbedaan utama antara Node.js dan server web lainnya adalah bahwa ini merupakan bagian dari pengembangan web yang terdiri dari tumpukan CSS, HTML, dan JavaScript. Proyek Node.js diatur oleh Node.js Foundation dan tersedia di bawah berbagai lisensi. Cari tahu lebih lanjut dari situs web proyek Node.js.

    5.Caddy Webserver

    Caddy adalah server web multiplatform yang cepat dan kuat, reverse proxy, gateway API, dan penyeimbang beban. Proyek Caddy dirancang oleh Mathew Holt dan ditulis dalam bahasa Go. Ini adalah kerangka kerja baru sebagai alternatif dari Apache Web Server.

    Caddy server dibuat tanpa ketergantungan sehingga portabel dan mudah dipasang dan digunakan di berbagai distribusi. Caddy mendukung fitur seperti IPv6, Markdown, WebSockets, FastCGI, template, dll. Caddy mengaktifkan HTTPS secara default untuk situs dengan nama domain yang memenuhi syarat dan mengalihkan permintaan HTTP ke HTTPS. Sertifikat akan diperoleh selama startup dan terus memperbaruinya selama masa aktif server.

    Menariknya, ia memiliki fitur 'on-demand TLS', yang menawarkan metode konfigurasi alternatif yang memungkinkan Caddy mendapatkan sertifikat hanya jika diperlukan selama handshake TLS. Ini tersedia di semua distribusi utama seperti MAC, Windows, Android, Linux, BSD, dan Solaris.

    Caddy adalah kandidat yang bagus untuk pengguna yang mencari kesederhanaan dan senang bekerja dengan konfigurasi default. Ini adalah server web yang ideal untuk menjalankan aplikasi yang ditulis dalam GO. Menurut w3tech, saat ini menguasai 0,1% dari semua situs web.

    6. Eclipse Jetty Webserver

    Eclipse Jetty dirancang dan dibangun sebagai server HTTP, klien HTTP, dan wadah servlet javax untuk menyajikan konten statis dan dinamis sebagai instance mandiri atau embedded. Server Web Jetty dan komponen inti lainnya di-host dan dipelihara oleh Eclipse Foundation.

    Jetty adalah server Web dan mesin servlet yang ringan dan sangat skalabel. Jetty adalah server Web asinkron penuh yang berorientasi pada komponen dan dapat dengan mudah disematkan ke aplikasi lain. Ini mendukung protokol Web seperti HTTP, HTTP/2, dan WebSocket. Teknologi ini mengimplementasikan volume tinggi, latensi rendah, arsitektur performa maksimum dengan tetap mempertahankan kesederhanaan dan kompatibilitasnya. Performanya mencapai hasil yang sangat baik dengan puluhan ribu koneksi HTTP dan koneksi WebSocket secara bersamaan.

    Jetty memiliki footprint kecil yang memungkinkan pengembang web untuk menyebarkan dan mengkonfigurasi Jetty secara efisien di lingkungan apa pun tanpa mengkhawatirkan penggunaan memori atau overhead yang tidak diinginkan. Dengan footprint memori yang kecil, Anda dapat menjalankan lebih banyak instance server pada perangkat keras virtual, menjadikannya pilihan yang baik dalam penerapan dan infrastruktur cloud.

    Fitur:
  • Asynchronous, scalable, dan sangat dapat dikembangkan.
  • Memiliki footprint yang kecil.
  • Mendukung OSGI, JMX, JNDI, JASPI dan AJP.
  • Mendukung HTTP/2, server WebSocket, Java ServletAPI dengan JSP.


  • Eclipse telah diadopsi di banyak proyek seperti Apache ActiveMQ, Google App Engine, Alfresco, Apache Geronimo, Apache Maven, Apache Spark, Eclipse, dan API Streaming Twitter. Cari tahu lebih lanjut di sini.

    7. Lighttpd Webserver

    Lighttpd atau Lighty adalah server web gratis dan sumber terbuka yang dibuat untuk aplikasi yang sangat cepat. Aman, cepat, fleksibel, dan memiliki footprint minimal kurang dari 1 MB. Jejaknya yang kecil membuatnya sangat ekonomis dengan sumber daya server dan pemanfaatan CPU. Lighttpd didistribusikan di bawah lisensi BSD dan disukai karena kesederhanaan, kinerja, dan modul pendukungnya.

    Lighttpd dibangun di atas model penanganan permintaan asinkron, yang penting dalam menangani dan mengelola koneksi paralel dalam jumlah besar sehingga menjadikannya pilihan ideal untuk aplikasi web berkinerja tinggi. Beberapa orang mungkin mengatakan hal tersebut mirip arsitektur di Nginx. Mendukung FastCGI, CGI, dan SCGI untuk menghubungkan server web dengan program lain. Juga mendukung aplikasi yang ditulis dalam bahasa lain seperti Python, Perl, PHP, dan Ruby, yang merupakan bahasa pengembangan populer di kalangan pengembang.

    Fitur canggih lainnya di Lighty meliputi Auth, URL-rewriting, dukungan untuk SSL/TLS, hosting virtual, dan kompresi keluaran HTTP melalui modul mod_compress.

    Fitur:
  • Mendukung TLS / SSL dengan SNI melalui OpenSSL.
  • Mendukung HTTP/2.
  • Mengimplementasikan hosting virtual yang fleksibel.
  • Mendukung chroot dan otentikasi terhadap server LDAP.
  • Mendukung modul seperti mode_deflate dan mod_compress untuk kompresi HTTP.
  • Mengimplementasikan mekanisme event notifikasi yang efisien menggunakan teknologi seperti kqueue dan epoll.


  • Lighttpd adalah server web single-threaded yang dapat dengan mudah menangani beberapa ratus permintaan per detik dan merupakan opsi yang baik bagi pengguna yang menghadapi tantangan dalam lingkungan memori rendah dan CPU rendah. Lighty berjalan secara native di sistem Linux/Unix, dan juga dapat menjalankannya di platform Microsoft Windows. Cari tahu lebih lanjut tentang statistik penggunaan, lisensi, dan dukungannya di web Lighttpd.

    8. OpenLiteSpeed Webserver

    OpenLiteSpeed adalah alternatif open source untuk edisi LiteSpeed Enterprise Web server. Dibuat untuk kesederhanaan, keamanan, pengoptimalan, dan dilengkapi dengan semua fitur penting dalam edisi Enterprise.

    OpenLiteSpeed dirancang pada arsitektur event-driven dan sumber daya yang dioptimalkan. Dilengkapi dengan GUI WebAdmin yang intuitif untuk mengelola situs web dan memantau rangkaian metrik server yang berbeda. OpenLiteSpeed dioptimalkan untuk menjalankan skrip yang dirancang dalam berbagai bahasa seperti Perl, Python, Ruby, dan Java. Mendukung IPv6 dan SSL/TLS.

    Fitur:
  • Kompatibel dengan modul Apache mod_rewrite, membuatnya mudah untuk memigrasi file Apache yang ada.
  • Arsitektur event-driven menghasilkan throughput yang tinggi.
  • Fitur antarmuka admin GUI yang ramah pengguna.
  • Mengimplementasikan pengoptimalan Google PageSpeedInsights dan akselerasi cache-cerdas secara default.
  • Dapat menangani ribuan koneksi bersamaan.


  • OpenLiteSpeed bersifat serbaguna, dan Anda dapat mengonfigurasinya sebagai penyeimbang beban atau reverse proxy. OpenLiteSpeed gratis untuk diunduh dan tersedia di bawah lisensi GPLv3. Hal ini adalah opsi yang bagus untuk situs web konten berbasis WordPress.

    9. H2O Web Server

    H2O adalah server HTTP sumber terbuka generasi baru. Mengandalkan waktu respons yang lebih cepat dengan pemakaian CPU yang lebih sedikit dibandingkan dengan server web generasi sebelumnya. H2O dirancang dan dibangun dari awal untuk membuat implementasi HTTP/2 berfitur lengkap.

    Pengguna H2O dapat memanfaatkan fitur HTTP/2 baru seperti pengoptimalan latensi, server-push dan prioritized content serving. Fitur-fitur ini dapat memanfaatkan fungsionalitas browser modern.

    Fitur:
  • Mendukung HTTP 1.0/1.1, HTTP/2.
  • Mendukung TCP Fast Open.
  • Mendukung WebSockets dan TLS.
  • Mendukung server push, metode negosiasi: NPN, ALPN, upgrade, direct.


  • H20 ditulis dalam bahasa pemrograman C dan juga dapat digunakan sebagai library. H2O tersedia di bawah lisensi MIT. Cari tahu lebih lanjut tentang statistik penggunaan H2O.

    10. Cherokee Web Server

    Cherokee adalah server Web sumber terbuka yang ringan, cepat, fleksibel, dan berkinerja baik, lintas platform. Dikembangkan sebagai proyek pengembangan pribadi namun tumbuh menjadi server web yang layak dan berjalan di Linux, BSD, Solaris, MAC, dan Windows.

    Cherokee masuk daftar kami karena kesederhanaannya. Muncul dengan antarmuka berbasis web yang ramah, dan Anda tidak perlu menguasai banyak konfigurasi baris perintah untuk membuatnya berjalan dan berfungsi. Mendukung teknologi seperti FastCGI, CGI, SSI, SCGI, PHP, TLS, dan koneksi terenkripsi SSL, VirtualHosts, load balancing, dan file log yang kompatibel dengan Apache.

    Cherokee dapat menangani koneksi bersamaan pada memori rendah dan meningkatkan kinerja perangkat keras. Memiliki arsitektur modular yang dapat dimodifikasi dan diperluas melalui wizard administrasi untuk melakukan tugas tertentu, memperluas aplikasi, dan menjalankan kerangka kerja.

    Fitur:
  • Dapat dikonfigurasi sebagai reverse HTTP proxy.
  • Sisi server menyertakan (SSI) pada kompresi gzip dan deflate.
  • Mendukung statistik chroot dan RRDtool.
  • Mendukung streaming video, cache konten, dll.


  • Meskipun tidak dikembangkan secara aktif, ini adalah server web yang bagus untuk proyek sederhana. Mendukung PHP, Django, Ruby on Rails, ColdFusion, Alfresco, Symfony, GNU Mailman, .NET dengan Mono, rTorrent, dan Zend Engine, yang memberi banyak alternatif untuk membangun proyek Anda.

    Jika Anda memulai mencoba mempelajari server web, silahkan memulainya dengan LEMP (Linux, Nginx, MySQL, PHP) atau LAMP (Linux, Apache, MySQL, PHP). Anda dapat dengan mudah menginstal stack ini menggunakan installer sederhana dan juga tersedia di paket manajer Linux. Hal ini akan memberi Anda pengalaman langsung yang luas tentang cara kerja server web.


    EmoticonEmoticon