(0275) 2974 127
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.
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.
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 :
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.
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.
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 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.
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 melakukan generate multiple child process serupa dengan Prefork. Setiap child process menjalankan banyak thread. Setiap thread menangani satu koneksi pada satu waktu.
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 :
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.
Kemampuan untuk menangani file dengan menggunakan koneksi yang sama dapat menurunkan latency dan mengizinkan web pages untuk mempercepat load time.
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.
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.
Banyak perbedaan yang harus diketahui antara kedua web server ini, berikut penjelasannya :
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.
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.
Apache bekerja dengan banyak varian Unix system (seperti Linux atau BSD) dan support penuh Microsoft Windows. Sedangkan Nginx pada Windows hanya sedikit.
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.
Apakah Anda menggunakan kartu ATM atau kartu debit? Suka bertransaksi secara cashless? Sepertinya Anda perlu…
Design website toko online tidak hanya soal estetika, tapi juga UX yang bagus secara keseluruhan.…
Sebelum memulai karir Anda sebagai desainer UX, Anda harus membuat portofolio yang mencakup semua pengalaman…
Keep-Alive memungkinkan browser pengunjung Anda mendownload semua konten (JavaScript, CSS, gambar, video, dll) melalui koneksi…
Job description seorang web developer adalah membuat situs web menggunakan berbagai bahasa pemrograman. Tanggung jawab…
Secara default, WordPress tidak mendukung A/B testing. Tapi jangan khawatir. Di bawah ini, kami telah…