Belajar Nginx - Pre-Requisites Skill & Setup Environment
Episode 0 of 21

Belajar Nginx - Pre-Requisites Skill & Setup Environment

Sebelum menyentuh NGINX, kalian perlu menguasai Linux CLI, konsep jaringan dasar, dan protokol HTTP. Di episode ini kalian menginstall NGINX, belajar manajemen service dengan systemctl, dan mengenal struktur direktori default.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

Selamat datang di series Belajar Nginx! Series ini akan membawa kalian menguasai NGINX — web server, reverse proxy, load balancer, dan API gateway paling populer di dunia — dari fondasi konsep sampai skala produksi enterprise. Total ada 21 episode yang tersusun dari enam fase.

Tapi sebelum menyentuh konfigurasi, ada beberapa skill dasar dan perangkat lunak yang wajib kalian miliki. Mengapa prasyarat penting? Karena NGINX bekerja di atas infrastruktur jaringan dan protokol HTTP. Jika kalian belum paham apa itu IP address, port, atau status code, setiap directive akan terasa seperti mantra tanpa makna.

Episode 0 ini adalah peta jalan kalian: memastikan skill dasar, menginstall NGINX, mempelajari manajemen service dengan systemctl, dan mengenal struktur direktori default. Setelah episode ini selesai, seluruh series bisa diikuti dengan nyaman.

Skill Dasar yang Wajib Dimiliki

Pengoperasian Dasar Linux CLI

NGINX hampir selalu dijalankan di server Linux, jadi kalian wajib nyaman dengan terminal. Kuasai navigasi direktori dengan cd dan ls, membaca file dengan cat, dan menyalin file dengan cp. Jangan lupa konsep hak akses: konfigurasi NGINX dikelola oleh user root atau user dengan privilege sudo.

Verifikasi akses dan versi sistem
whoami
sudo cat /etc/os-release

Jika kedua perintah di atas tidak error, environment kalian sudah siap untuk instalasi NGINX.

Konsep Dasar Jaringan

NGINX hidup dari jaringan. Pahami dulu tiga konsep ini:

  • IP Address: alamat unik mesin di jaringan, misalnya 192.168.1.10.
  • Port: gerbang logis untuk suatu layanan; HTTP memakai port 80 dan HTTPS memakai port 443.
  • DNS: sistem yang memetakan nama domain seperti example.com ke IP Address lewat record A maupun CNAME.

Tanpa memahami ketiganya, kalian akan kesulitan saat mengatur server_name dan listen di episode 3.

Pemahaman Protokol HTTP/HTTPS

NGINX adalah server HTTP, jadi pahami request method seperti GET dan POST, rentang status code (2xx sukses, 3xx redirect, 4xx client error, 5xx server error), serta konsep header seperti Host dan User-Agent. Konsep ini dipakai di hampir semua episode series ini.

Instalasi NGINX di Linux Server

Debian dan Ubuntu

Distribusi berbasis Debian menyediakan NGINX langsung dari repository resmi:

Install NGINX di Debian/Ubuntu
sudo apt update
sudo apt install nginx -y

Setelah proses selesai, verifikasi versi yang terinstall dengan nginx -v.

Rocky Linux dan RHEL

Jika kalian memakai Rocky Linux, CentOS Stream, atau RHEL, gunakan DNF:

Install NGINX di Rocky/RHEL
sudo dnf install nginx -y

Pada keluarga RHEL, NGINX tidak langsung aktif setelah instalasi. Kalian perlu menyalakan servicenya secara manual lewat systemctl.

Docker Container

Ingin mencoba tanpa mengotori server? Jalankan NGINX sebagai kontainer:

Jalankan NGINX lewat Docker
docker run --name nginx-belajar -d -p 8080:80 nginx:alpine

Image nginx:alpine sangat ringan dan cocok untuk eksperimen. NGINX di dalamnya mendengarkan port 80, dan kalian bisa mengaksesnya dari host melalui port 8080.

Manajemen Service NGINX

systemctl: Enable, Status, Reload

NGINX berjalan sebagai systemd service:

Kelola service NGINX
sudo systemctl enable --now nginx
sudo systemctl status nginx
sudo systemctl reload nginx

Perbedaan penting: systemctl reload nginx menerapkan ulang konfigurasi tanpa memutus koneksi, sedangkan systemctl restart nginx memutus semua koneksi sesaat. Untuk perubahan konfigurasi rutin, selalu prioritaskan reload.

Test Sintaks dan Reload Aman

NGINX punya alat tes sintaks bawaan. Biasakan memakainya sebelum reload:

Tes konfigurasi sebelum reload
sudo nginx -t
sudo nginx -s reload

Perintah nginx -t memvalidasi seluruh konfigurasi; jika output menampilkan syntax is ok dan test is successful, barulah kalian aman melakukan reload.

Struktur Direktori Default

Setelah instalasi, ini peta direktori yang wajib kalian hafal:

  • /etc/nginx/nginx.conf — file konfigurasi utama.
  • /etc/nginx/conf.d/ — direktori include untuk konfigurasi tambahan.
  • /etc/nginx/sites-available/ dan /etc/nginx/sites-enabled/ — layout khas Ubuntu untuk virtual host.
  • /var/log/nginx/ — tempat access log dan error log.
  • /var/www/html/ — document root default.
Lihat struktur direktori default
ls -la /etc/nginx/
ls /var/log/nginx/
ls /var/www/html/

Detail setiap direktori dan directive akan dibedah mulai episode 2.

Verifikasi Environment

Terakhir, pastikan NGINX benar-benar merespons request:

Verifikasi NGINX merespons
curl -I http://localhost

Output yang baik menampilkan HTTP/1.1 200 OK dengan header Server: nginx. Jika kalian memakai Docker, ganti localhost dengan port host yang sudah di-publish. Dengan ini environment kalian resmi siap untuk 20 episode berikutnya.

Penutup

Episode 0 ini sudah membangun pijakan seluruh series: memastikan skill Linux CLI, jaringan, dan HTTP, menginstall NGINX di Debian, RHEL, maupun Docker, menguasai manajemen service dengan systemctl, dan menghafal struktur direktori default.

Inti yang harus dibawa pulang:

  • NGINX membutuhkan fondasi Linux CLI, konsep IP/port/DNS, dan pemahaman HTTP.
  • Instalasi di Debian/Ubuntu memakai apt, di Rocky/RHEL memakai dnf.
  • Docker memudahkan eksperimen tanpa mengotori server.
  • Selalu jalankan nginx -t sebelum reload konfigurasi.
  • Direktori kunci: /etc/nginx/, /var/log/nginx/, dan /var/www/html/.
  • Verifikasi akhir: curl -I http://localhost harus mengembalikan 200 OK.

Di episode 1 selanjutnya kita akan membahas sejarah, arsitektur utama, dan mengapa memilih NGINX — dari lahirnya sebagai jawaban atas C10K problem, arsitektur event-driven non-blocking yang membuatnya ringan, hingga peran-perannya di industri modern. Pastikan NGINX kalian sudah menyala, karena perjalanan Belajar Nginx baru saja dimulai!