Bagikan :
Cara Menginstal dan Mengkonfigurasi Nginx di Ubuntu 22.04
foto : Morfogenesis Teknologi Indonesia Creative Team
Nginx adalah web server ringan yang dapat juga berfungsi sebagai reverse proxy, load balancer, dan cache HTTP. Panduan ini akan menuntun Anda menginstal serta mengkonfigurasi Nginx di Ubuntu 22.04.
Prasyarat:
1. Server berbasis Ubuntu 22.04
2. Hak akses sudo
3. Koneksi internet stabil
Langkah-langkah instalasi:
1. Perbarui sistem:
sudo apt update && sudo apt upgrade -y
2. Instal Nginx:
sudo apt install nginx -y
3. Aktifkan dan mulai layanan:
sudo systemctl enable nginx
sudo systemctl start nginx
4. Konfigurasi firewall:
sudo ufw allow Nginx Full
5. Verifikasi status:
sudo systemctl status nginx
Konfigurasi dasar:
1. Direktori utama konfigurasi berada di /etc/nginx
2. File konfigurasi situs tersimpan di /etc/nginx/sites-available
3. Aktifkan situs dengan membuat symbolic link ke /etc/nginx/sites-enabled
4. Uji konfigurasi sebelum memuat ulang:
sudo nginx -t
5. Muat ulang layanan:
sudo systemctl reload nginx
Menambahkan situs baru:
1. Buat file konfigurasi unik di /etc/nginx/sites-available/namasitus
2. Isi dengan blok server minimal:
server {
listen 80;
server_name namadomain.com;
root /var/www/namasitus;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
3. Buat direktori web dan berikan izin:
sudo mkdir -p /var/www/namasitus
sudo chown -R www-data:www-data /var/www/namasitus
4. Aktifkan situs:
sudo ln -s /etc/nginx/sites-available/namasitus /etc/nginx/sites-enabled/
5. Uji dan muat ulang:
sudo nginx -t
sudo systemctl reload nginx
Implementasi SSL dengan Certbot:
1. Instal Certbot:
sudo apt install certbot python3-certbot-nginx -y
2. Dapatkan sertifikat:
sudo certbot --nginx -d namadomain.com
3. Certbot akan mengonfigurasi ulang blok server secara otomatis.
Optimasi keamanan:
1. Sembunyikan versi Nginx:
edit /etc/nginx/nginx.conf dan tambahkan:
server_tokens off;
2. Batasi ukuran upload:
tambahkan client_max_body_size 10M; di dalam blok http
3. Aktifkan rate limiting:
buat zona limit di http block:
limit_req_zone $binary_remote_addr zone=login:10m rate=5r/s;
terapkan pada location yang diinginkan:
limit_req zone=login burst=10 nodelay;
Pemecahan masalah umum:
1. Port 80 sudah digunakan:
sudo lsof -i :80
sudo systemctl stop apache2 atau layanan lain yang konflik
2. Izin ditolak:
pastikan user www-data memiliki akses baca ke direktori web
3. Kesalahan konfigurasi:
periksa log di /var/log/nginx/error.log
4. Halaman default masih muncul:
hapus symbolic link default di /etc/nginx/sites-enabled/
Langkah selanjutnya:
1. Gabungkan dengan PHP-FPM untuk situs dinamis
2. Konfigurasi load balancing untuk skala besar
3. Gunakan Nginx sebagai reverse proxy untuk aplikasi Node.js
Morfotech.id menyediakan layanan pembuatan aplikasi web dan mobile profesional. Tim ahli kami siap membantu mengembangkan solusi digital sesuai kebutuhan Anda. Konsultasi sekarang melalui WhatsApp +62 811-2288-8001 atau kunjungi https://morfotech.id untuk portofolio lengkap dan penawaran menarik.
Prasyarat:
1. Server berbasis Ubuntu 22.04
2. Hak akses sudo
3. Koneksi internet stabil
Langkah-langkah instalasi:
1. Perbarui sistem:
sudo apt update && sudo apt upgrade -y
2. Instal Nginx:
sudo apt install nginx -y
3. Aktifkan dan mulai layanan:
sudo systemctl enable nginx
sudo systemctl start nginx
4. Konfigurasi firewall:
sudo ufw allow Nginx Full
5. Verifikasi status:
sudo systemctl status nginx
Konfigurasi dasar:
1. Direktori utama konfigurasi berada di /etc/nginx
2. File konfigurasi situs tersimpan di /etc/nginx/sites-available
3. Aktifkan situs dengan membuat symbolic link ke /etc/nginx/sites-enabled
4. Uji konfigurasi sebelum memuat ulang:
sudo nginx -t
5. Muat ulang layanan:
sudo systemctl reload nginx
Menambahkan situs baru:
1. Buat file konfigurasi unik di /etc/nginx/sites-available/namasitus
2. Isi dengan blok server minimal:
server {
listen 80;
server_name namadomain.com;
root /var/www/namasitus;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
3. Buat direktori web dan berikan izin:
sudo mkdir -p /var/www/namasitus
sudo chown -R www-data:www-data /var/www/namasitus
4. Aktifkan situs:
sudo ln -s /etc/nginx/sites-available/namasitus /etc/nginx/sites-enabled/
5. Uji dan muat ulang:
sudo nginx -t
sudo systemctl reload nginx
Implementasi SSL dengan Certbot:
1. Instal Certbot:
sudo apt install certbot python3-certbot-nginx -y
2. Dapatkan sertifikat:
sudo certbot --nginx -d namadomain.com
3. Certbot akan mengonfigurasi ulang blok server secara otomatis.
Optimasi keamanan:
1. Sembunyikan versi Nginx:
edit /etc/nginx/nginx.conf dan tambahkan:
server_tokens off;
2. Batasi ukuran upload:
tambahkan client_max_body_size 10M; di dalam blok http
3. Aktifkan rate limiting:
buat zona limit di http block:
limit_req_zone $binary_remote_addr zone=login:10m rate=5r/s;
terapkan pada location yang diinginkan:
limit_req zone=login burst=10 nodelay;
Pemecahan masalah umum:
1. Port 80 sudah digunakan:
sudo lsof -i :80
sudo systemctl stop apache2 atau layanan lain yang konflik
2. Izin ditolak:
pastikan user www-data memiliki akses baca ke direktori web
3. Kesalahan konfigurasi:
periksa log di /var/log/nginx/error.log
4. Halaman default masih muncul:
hapus symbolic link default di /etc/nginx/sites-enabled/
Langkah selanjutnya:
1. Gabungkan dengan PHP-FPM untuk situs dinamis
2. Konfigurasi load balancing untuk skala besar
3. Gunakan Nginx sebagai reverse proxy untuk aplikasi Node.js
Morfotech.id menyediakan layanan pembuatan aplikasi web dan mobile profesional. Tim ahli kami siap membantu mengembangkan solusi digital sesuai kebutuhan Anda. Konsultasi sekarang melalui WhatsApp +62 811-2288-8001 atau kunjungi https://morfotech.id untuk portofolio lengkap dan penawaran menarik.
Sumber:
AI Morfotech - Morfogenesis Teknologi Indonesia AI Team
Jumat, September 12, 2025 4:00 AM