Lighttpd adalah server web open source yang dikenal dengan kinerja luar biasa di banyak lingkungan. Berkat persyaratan perangkat keras yang rendah, ia mengelola lalu lintas data yang tinggi bahkan pada sistem yang berkinerja buruk.
Tutorial ini memberikan penjelasan langkah demi langkah tentang cara menginstal dan mengkonfigurasi Lighttpd di Ubuntu 18.04 dan tentang cara memaksimalkan kinerjanya dengan mengaktifkan kompresi data, mengkonfigurasi host virtual, dan meningkatkan parameter keep-alive.
Pertama, sambungkan ke server Anda melalui koneksi SSH. Jika Anda belum melakukannya, ikuti panduan kami disarankan untuk terhubung secara aman dengan SSH. Untuk server lokal, lanjutkan ke langkah berikutnya dan buka terminal server Anda.
Instalasi Lighttpd
Pertama, perbarui repositori distribusi, untuk memastikan Anda mengunduh Lighttpd versi terbaru:
$ sudo apt update
Kemudian, lanjutkan dengan instalasi dengan menjalankan perintah berikut:
$ sudo apt install lighttpd
Setelah penginstalan selesai, layanan Lighttpd siap diaktifkan dan dimulai, tetapi pertama-tama mungkin perlu mengaktifkan Lighttpd untuk mendengarkan juga di alamat ipv4.
Buka file konfigurasi di /etc/lighttpd/lighttpd.conf menggunakan editor teks favorit Anda (vim / nano).
Bagian komentar, yang mengonfigurasi penggunaan port akan ditemukan di dalam file :
##
## bind to a specific IP
##
server.bind = "localhost"
Kemudian, lanjutkan dengan mengeditnya sebagai berikut:
##
## bind to a specific IP
##
#
server.bind = "localhost"
$SERVER["socket"] == "0.0.0.0" { }
Pada titik ini, semuanya siap untuk memulai layanan:
$ sudo systemctl start lighttpd
Layanan juga dapat diatur untuk memulai secara otomatis saat sistem dimulai:
$ sudo systemctl enable lighttpd
Konfigurasi firewall
Jika ada firewall di sistem Anda, siapkan untuk mengaktifkan lalu lintas HTTP dan lalu lintas HTTPS ke komputer Anda.
Untuk mengizinkan lalu lintas HTTP (Port 80) dan HTTPS (Port 443), gunakan perintah berikut:
$ sudo ufw allow 80
$ sudo ufw allow 443
Setelah semua langkah selesai, uji operasi server web dengan mengunjungi alamat http://
Akar Dokumen
Untuk mengubah konten yang terlihat di server web, cukup ubah konten folder / var / www / lighttpd, seperti yang juga ditunjukkan dalam file konfigurasi /var/etc/lighttpd.conf:
var.server_root = "/var/www"
##
## Document root
##
server.document-root = server_root + "/lighttpd"
Untuk informasi lebih lanjut tentang file konfigurasi, semua opsi yang tersedia dapat ditemukan di dokumen resmi:https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ConfigurationOptions .
Aktivasi kompresi data
Salah satu pengoptimalan pertama, yang dapat diaktifkan di Lighttpd, adalah kompresi data sebelum dikirim. Ini akan mengurangi konsumsi bandwidth server web Anda, serta mempercepat transmisi data.
Untuk mengaktifkan kompresi, buka file di path /etc/lighttpd/modules.conf.
Anda akan menemukan bagian yang didedikasikan untuk modul mod_compress:
##
## mod_compress
##
#include "conf.d/compress.conf"
Hanya batalkan komentar pada baris penyertaan untuk membaca file konfigurasi modul, lalu aktifkan:
##
## mod_compress
##
include "conf.d/compress.conf"
Sebelum mengoperasikan modul, buat folder tempat Lighttpd biasanya menyimpan file terkompresi. jadi jangan buat ulang nanti:
$ sudo mkdir /var/cache/lighttpd
$ sudo mkdir /var/cache/lighttpd/compress
Sekarang ubah pemilik folder untuk memberikan izin ke Lighttpd:
$ sudo chown lighttpd:lighttpd /var/cache/lighttpd/compress/
Pada titik ini, mulai ulang layanan:
$ sudo systemctl restart lighttpd
Instalasi host virtual
Di bawah ini dijelaskan cara mengkonfigurasi virtual host menggunakan sebagai contoh domain fantasi (domainanda.com). Pertama, siapkan direktori yang diperlukan untuk meng-host situs web:
mkdir -p /var/www/vhosts/yourdomain.com/htdocs
chown lighttpd:lighttpd /var/www/vhosts -R
Dengan perintah yang ditampilkan di atas, seluruh pohon direktori dapat dibuat. Sekarang, atur pengguna Lighttpd sebagai pemilik folder.
Biasanya Lighttpd tidak diaktifkan untuk membaca konfigurasi host virtual. Jadi, lanjutkan pengaktifan dengan memodifikasi bagian yang ditunjukkan di bawah ini di file /etc/lighttpd/lightpd.conf:
#######################################################################
##
## custom includes like vhosts.
##
#include "conf.d/config.conf"
include "/etc/lighttpd/vhosts.d/*.conf" #enable the virtual host reading
##
######################################################################
Sekarang, file khusus untuk domain Anda di /etc/lighttpd/vhosts.d/yourdomain_en.conf dapat dibuat:
$HTTP["host"] == "yourdomain.com" {
var.server_name = "yourdomain.com"
server.name = server_name
server.document-root = vhosts_dir + "/" + server_name + "/htdocs"
##
## use a separate access log file
## At the moment, you cannot have different error log files.
##
accesslog.filename = log_root + "/" + server_name + "/access.log"
}
Setelah file disimpan, mulai ulang Lighttpd untuk menerapkan semua perubahan:
$ sudo systemctl restart lighttpd
Pengoptimalan Keep-Alive
Meningkatkan parameter http keep-alive dapat berdampak positif pada manajemen lalu lintas dan, oleh karena itu, dapat berguna untuk pengoptimalan lebih lanjut kinerja Lighttpd,Parameter default server adalah sebagai berikut (ada dalam file / etc/lightpd/lightpd.conf):
server.max-keep-alive-idle = 5
server.max-keep-alive-requests = 16
server.max-read-idle = 60
server.max-fds = 2048
server.max-write-idle = 360
Parameter di atas akan membuat 16 koneksi tetap aktif selama 5 detik, bahkan jika mereka tidak lagi digunakan oleh klien. Hal ini dapat menyebabkan penipisan soket terbuka pada saat yang sama (ditunjukkan sebagai nilai maksimum di server.max-fds). Dalam kasus lalu lintas tinggi, mungkin perlu membatasi batasan berikut:
server.max-keep-alive-idle = 4
server.max-keep-alive-requests = 4
server.max-read-idle = 30
server.max-write-idle = 120
Dengan membatasi batas waktu dan jumlah permintaan, server web akan lebih sering menutup koneksi dan memungkinkan pengelolaan lalu lintas yang lebih tinggi.
Setelah perubahan diterapkan, ingatlah untuk memulai ulang layanan melalui:
$ sudo systemctl restart lighttpd