Perbedaan Apache, Nginx, dan Lighttpd

Assalamualaikum Warrahmatuillahi Wabarakatuh

Pada artikel kali ini saya akan coba share mengenai apa perbedaan Apache, Nginx, dan Lighttpd. Perbedaan yang akan dibahas mulai dari total packages yang di install , konfigurasi utama, letak file virtualhost, hingga Log nya. Untuk dari sisi keamanan dan stabilitas nya belum bisa saya buktikan dikarenakan untuk mengetes ini dibutuhkan website yang komplex dan traffic yang lumayan banyak.

Saya menggunakan tiga VM yang memiliki Spesifikasi sama yaitu:
HDD : 8GB
Ram: 256 MB
Network 1000Mbps
OS: Centos 7.4

Namun yang membedakan adalah Paket yang diinstall, IP dan Hostname nya.
VM 1 : yuvia.sabto.com : 192.168.0.50 : Apache
VM 2 : ayana.sabto.com : 192.168.0.51 : Nginx
VM 3 : sinka.sabto.com : 192.168.0.52 : Lighttpd

Anggaplah ketiga server tersebut sudah terinstall dengan baik. Supaya adil, kita menggunakan repository EPEL untuk cemtos/redhar 7. Instalasinya menggunakan perintah yum install epel-release. Setelah selesai, maka ketiga VM tersebut sudah siap digunakan. Langsung saja kita mulai:

1. Perintah Instalasi paket.
Untuk perintah instalasi nya relatif sama. Hanya tinggal ketikkan perintah yum install <nama paket>.
Apache : yum install httpd
Nginx : yum install nginx
Lighttpd : yum install lighttpd

2. Total Instalasi Paket
Disini akan mulai terlihat perbedaannya. Dari ketiga jenis web service tersebut ternyata memiliki total instalasi paket yang berbeda.
Apache : Downloaded Package 3 MB, Instalation Package 10 MB

Nginx: Downloaded Package 1.5 MB, Instalation Package 5.3 MB

Lighttpd: Downloaded Package 688 KB, Instalation Package 2.1 MB

3. Restart Service
Cara restart service di ketiga Web services ini relatif sama. Tinggal run command service <nama paket> restart
Apache : service httpd restart
Nginx : service nginx restart
Lighttpd : service lighttpd restart

4. Default Page
Default page untuk setiap services ini berbeda. Default page ini muncul ketika kita baru menginstall namun belum di edit apapun.
Apache Default Page

Nginx Default Page

Lighttpd Default Page

5. Konfigurasi Utama
Apache : /etc/httpd/conf/httpd.conf
Nginx : /etc/nginx/nginx.conf
Lighttpd : /etc/lighttpd/lighttpd.conf

6. Meletakkan Virtual Host
Untuk meletakkan Virtual Host hampir sama antara satu dengan yang lainnya.
Apache
mkdir /etc/httpd/sites-available/
mkdir /etc/httpd/sites-enabled/
mkdir /var/www/beby-chaesara.org/
nano /etc/httpd/sites-available/beby-chaesara.conf
—————————
<VirtualHost *:80>
ServerName www.beby-chaesara.org
ServerAlias beby-chaesara.org
DocumentRoot /var/www/beby-chaesara.org/
ErrorLog /var/www/beby-chaesara.org/error.log
CustomLog /var/www/beby-chaesara.org/requests.log combined
</VirtualHost>
—————————
ln -s /etc/httpd/sites-available/beby-chaesara.conf   /etc/httpd/sites-enabled/
nano /etc/httpd/conf/httpd.conf
—————————
IncludeOptional sites-enabled/*.conf
—————————-
service httpd restart

Nginx
mkdir /etc/nginx/sites-available/
mkdir /etc/nginx/sites-enabled/
mkdir /var/www/beby-chaesara.org/
nano /etc/nginx/sites-available/beby-chaesara.conf
—————————
server {
listen 80;

server_name beby-chaesara.org www.beby-chaesara.org;

location / {
root /var/www/beby-chaesara.org;
index index.html index.htm;
try_files $uri $uri/ =404;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
————————–
ln -s /etc/nginx/sites-available/beby-chaesara.conf   /etc/nginx/sites-enabled/
nano /etc/nginx/nginx.conf
————————-
include /etc/nginx/sites-enabled/*.conf;
server_names_hash_bucket_size 64;
————————-
service nginx restart

Lighttpd
mkdir -p /var/www/beby-chaesara.org/
nano /etc/lighttpd/lighttpd.conf
————————
include_shell “cat /etc/lighttpd/vhosts.d/*.conf”
————————
nano /etc/lighttpd/vhosts.d/beby-chaesara.conf
———————–
$HTTP[“host”] == “beby-chaesara.org” {
server.document-root = “/var/www/beby-chaesara.org/”
server.errorlog = “/var/log/lighttpd/beby-chaesara.org.error.log”
accesslog.filename = “/var/log/lighttpd/beby-chaesara.org.access.log”
}
———————
service lighttpd restart

7. Log Files
Apache : /var/log/httpd/
Nginx : /var/log/nginx/
Lighttpd : /var/log/lighttpd

Sekian mengenai sedikit perbedaan antara Apache, Nginx, dan Lighttpd. Semoga bermanfaat untuk pembaca. Jangan lupa untuk share artikel  ini supaya bisa bermanfaat untuk orang banyak.

Wassalamualaikum Warrahmatullahi Wabarakatuh

Ref:
https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-server-blocks-on-centos-7
https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-centos-7

How to Setup VirtualHosts in Lighttpd Server

Leave a Reply

Your email address will not be published. Required fields are marked *