HOTLINE

(0275) 2974 127

CHAT WA 24/7
0859-60000-390 (Sales)
0852-8969-9009 (Support)
Blog

Lamp Dan Lemp, Mana Yang Lebih Baik ?

Apa Itu Lamp Dan Lemp ?

LAMP (Linux, Apache, MySQL dan PHP) adalah platform pengembangan Web open source yang menggunakan Linux sebagai sistem operasi, Apache sebagai server Web, MySQL sebagai sistem manajemen basis data relasional dan PHP sebagai bahasa scripting berorientasi objek.

LEMP (Linux, Nginx, MySQL dan PHP) adalah untuk membuat server website dan membantu agar aplikasi menjadi dinamis.

LEMP menggunakan web server Nginx dan LAMP menggunakan web server Apache. Web server Apache sudah terbilang cukup lama yaitu tahun 1995. Sedangkan Nginx tahun 2005. Sehingga kalau berbicara mengenai teknologi serta fitur kedua web server tersebut tentu berbeda.

Perbedaan LAMP dan LEMP

Sebenarnya perbedaan yang paling signifikan adalah pada perangkat lunak web server yang digunakan. Pada stack LAMP, web server yang digunakan adalah Apache, sedangkan pada stack LEMP, web server yang digunakan adalah Nginx. Berikut adalah pembahasan secara detail mengenai masing-masing stack.

1. LAMP

LAMP adalah singkatan dari Linux, Apache, MySQL dan PHP. Ini adalah kombinasi dari komponen-komponen yang membentuk stack web server. LAMP menjadi stack yang sangat populer selama beberapa waktu. Komponen yang membentuk LAMP ini bersifat open source dengan dukungan komunitas yang sangat besar. LAMP telah ada sejak periode awal adanya aplikasi berbasis web.

Istilah LAMP diciptakan oleh Michael Kunze di sebuah majalah Jerman pada tahun 1998. Seperti yang sudah disebutkan di awal, LAMP terdiri dari empat lapisan yang terdiri dari :

  1. Linux, sebuah sistem operasi yang bersifat terbuka dan gratis. Linux mempunyai komunitas yang sangat kuat dan berkembang hingga saat ini.
  2. Apache HTTP Server adalah perangkat lunak untuk web server yang bersifa terbuka. Dibuat pertama kali pada tahun 1995.
  3. MySQL adalah sistem manajemen basis data relasional yang digunakan untuk menyimpan data. Bersifat terbuka dan bekerja dengan bahasa SQL.
  4. PHP adalah bahasa scripting untuk membangun halaman web yang bersifat dinamis.

Arsitektur LAMP sendiri berlapis mulai dari Linux pada bagian bawah, kemudian diikuti oleh Apache, MySQL kemudian PHP.

Cara kerja dari LAMP dimulai ketika browser mengirimkan permintaan untuk halaman web ke web server Apache. Jika permintaan tersebut dalam bentuk file PHP, maka permintaan tersebut akan diteruskan ke PHP dan kemudian kodenya dijalankan. Jika ada informasi yang berkaitan dengan data, maka selanjutnya meminta MySQL untuk mengambil informasi apapun yang diminta oleh kode tersebut. Kemudian kode dan data tersebut diolah dan ditampilkan ke browser untuk menampilkan halaman web.

LAMP juga bersifat fleksibel. Misalnya pada Apache yang memiliki desain secara modular, dengan hal ini memungkinkan untuk menambahkan modul khusus untuk memperluas fungsionalitas.

2. LEMP

Stack ini mempunyai fungsi yang sama dengan LAMP, hanya perbedaannya pada web server yang digunakan. Jika pada LAMP menggunakan Apache, maka pada LEMP menggunakan Nginx. LEMP sendiri mengacu pada singkatan dari Linux, Nginx, MySQL. LEMP menawarkan pengelolaan web yang ringan dan kuat.

Yang menarik adalah penggunaan huruf E yang mewakili Nginx, daripada memakai huruf N. Alasan yang terkuat adalah karena dari pembacaan, Nginx terbaca dengan huruf E di depan kata-nya.

Karena yang menjadi pembeda antara LAMP dan LEMP ini terletak pada Nginx yang dipakai, mari kita ulas secara singkat apa itu Nginx. Nginx adalah web server yang berjalan di sistem operasi Linux. Nginx merupakan perangkat lunak untuk server yang sangat optimal, ringan dan cepat. Bersifat terbuka dan sudah mendukung berbagai protokol seperti HTTP, HTTPS, SMTP, POP3 dan IMAP. Nginx juga dapat berfungsi sebagai penyeimbang beban dan cache HTTP. NginX berfokus pada implementasi konsekuensi yang tinggi, kinerja yang tinggi namun penggunaan memori yang rendah.

Web Server Apache

Apache server diciptakan oleh Robert McCool pada tahun 1995, selanjutnya proyek Apache dikembangkan dan dikelola oleh Apache Software Foundation semenjak tahun 1999. Apache seringkali dipilih oleh web administrator karena fleksibilitas, kekuatan dan dukungannya yang luas. Apache juga dapat dikembangkan dengan sistem modular.

Beberapa fakta menarik tentang Apache antara lain :

  • Apache Software Foundation sebagai pengelola merek dan pengembang layanan.
  • Apache dikembangkan dan dikelola oleh komunitas pengembang terbuka di bawah pengelolaan Apache Software Foundation.
  • Apache sebagian besar berjalan di sistem operasi Linux. Saat ini Apache telah mengelola sekitar 46% dari semua situs web di seluruh dunia.

Apache bekerja dengan baik jika menggunakan konten-konten dinamis. Apache juga mengandalkan konsep based on process, versi Apache yang terbaru yaitu Apache 2 memperkenalkan Multi-Processing Module (MPM), fungsi dari MPM ini bisa merubah Apache listen ke network, accept maupun handle request. Ada 3 macam MPM yang digunakan untuk mengatasi request yang masuk dan memproses request tersebut.

  • Prefork MPM

Prefefork MPM meluncurkan multiple child process. Setiap child process ini menangani satu koneksi pada satu waktu. MPM ini menggunakan memory yang besar dan juga default MPM yang digunakan Apache2.

  • Worker MPM

Worker MPM melakukan generate multiple child process serupa dengan Prefork. Setiap child process menjalankan banyak thread. Setiap thread menangani satu koneksi pada satu waktu.

  • Event MPM

Event MPM dikenalkan Apache versi 2.4. Cara kerjanya sama dengan Worker MPM, namun ini di desain untuk mengelola load yang tinggi. MPM ini mengizinkan request lebih yang harus dilayani secara bersamaan dengan melewati beberapa proses untuk mendukung threads. Dengan menggunakan MPM Apache ini mencoba memperbaiki masalah “Keep-Alive”.

Sedikit penjelasan mengenai apa itu Keep-Alive, keep-alive ini membuat koneksi ganda untuk menurunkan loading time. Benefitnya :

    • Reduce CPU Usage

Membuat koneksi TCP baru membutuhkan banyak resource seperti CPU dan Memory Usage. Menjaga koneksi tetap hidup lebih lama (keep-alive) dapat menurunkan pengguna resource yang berlebihan.

    • Web page Speed

Kemampuan untuk menangani file dengan menggunakan koneksi yang sama dapat menurunkan latency dan mengizinkan web pages untuk mempercepat load time.

    • HTTPS.

HTTPS adalah koneksi yang lebih aman dari HTTP, karena menggunakan Secure Socket Layer (SSL). SSL ini adalah salah satu resource yang intensif. Sehingga direkomendasikan dengan mengaktifkan Keep-Alive untuk HTTPS connetions.

Web Server Nginx

Nginx bekerja dengan baik jika menggunakan konten statis. Nginx mengenalkan arsitektur asynchronous, events-driven architecture. Juga mengandalkan konsep based on event.

Penggunaan desain non-synchronized atau asynchronous ini dapat menerima high loads. Nginx cocok digunakan untuk menjalankan satu worker process untuk setiap CPU. Sehingga dapat memaksimalkan efesiensi dari sebuah hardware.

Teknologi Nginx juga support FastCGI dan CSGI handler untuk melayani script konten dinamis seperti PHP dan Python. Stacknya menggunakan LEMP.

Perbedaan Apache dan Nginx

Banyak perbedaan yang harus diketahui antara kedua web server ini, berikut penjelasannya :

1. Konsep

Apache mengandalkan konsep based on process. Maksudnya adalah membuat proses dan pekerjaan hanya jika ada request. Sedangkan Nginx mengandalkan konsep based on event. Maksudnya adalah Nginx tidak akan memproses suatu pekerjaan meskipun ada request baru. Jadi, Nginx merupakan web server yang bekerja multi-tasking.

2. Performance

Static Content – Nginx lebih cepat 2.5 dibandingkan dengan Apache.

Dynamic Content – Keduanya saat ini hampir mirip, karena Apache dan Nginx sama-sama support PHP-FPM, juga dengan Varnish atau Memcached Cache.

3. OS Support

Apache bekerja dengan banyak varian Unix system (seperti Linux atau BSD) dan support penuh Microsoft Windows. Sedangkan Nginx pada Windows hanya sedikit.

4. Security

Apache menawarkan tips konfigurasi menangani DDoS Attack termasuk dengan Mod Evasive, module yang berurusan dengan HTTP DoS, DDoS atau Brute Force Attack. Sedangkan Nginx menawarkan untuk dapat melakukan limitasi pada jumlah request dan jumlah koneksi pada konfigurasi Nginx.

Shared Hosting biasanya menggunakan Apache karena bisa menangani banyak modul dinamis. Sedangkan Nginx sangat populer untuk VPS Hosting, Dedicated Hosting atau Cluster Container.

5/5 - (2 votes)
Risa Y

Recent Posts

Amankan Website dari XSS Vulnerability dengan CSP

Ketika kamu ingin membuat website, ada beberapa hal yang perlu kamu perhatikan, khususnya tingkat keamanan…

1 day ago

Rekomendasi Website dan Aplikasi Kompres File PDF

Kompresi online file PDF ukuran 200 KB dan 500 KB atau rahasia kompresi PDF di…

1 day ago

Disclaimer: Pengertian, Jenis, dan Cara Membuatnya

Kamu pasti tahu disclaimer di blog, kan? Pasalnya, disclaimer merupakan salah satu tulisan yang sering…

2 days ago

Cara Mudah Menghapus Cache di Google Chrome

Pernahkah Anda mendengar kata cache? Jadi, apakah ada perbedaan antara cache hosting dan cache browser…

2 days ago

Yuk Cari Tahu! Cara Memasang Widget di WordPress

Apakah kamu pengguna WordPress? Apakah kamu ingin menambahkan kalender atau kode HTML ke website? Jika…

3 days ago

Apa Saja yang Harus Dipejalari Untuk Menjadi Seorang IT Support?

Saat ini, karir apa pun yang berhubungan dengan IT menjadi semakin populer. Tak heran jika…

3 days ago