Cara Install Nginx Dari Repo Resmi
September 17, 2025
Instalasi
- Install tools yang dibutuhkan
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring -y
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
gpg --dry-run --quiet --no-keyring --import --import-options import-show \
/usr/share/keyrings/nginx-archive-keyring.gpg
- Pastikan fingerprint muncul:
573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
Untuk stable:
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/ubuntu $(lsb_release -cs) nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
| sudo tee /etc/apt/preferences.d/99nginx
- Update & install nginx
sudo apt update
sudo apt install nginx -y
- Cek versi
nginx -v
- Jalankan nginx
systemctl start nginx
systemctl enable nginx
Settingan File nginx.conf Powerfull
Ini adalah settingan konfigurasi file nginx.conf yang sering saya gunakan untuk produksi. Letak filenya pada direktory /etc/nginx/nginx.conf.
Sudah saya uji pada 4 threads cpu AMD Ryzen 9 7950X sanggup menghandle 20000 koneksi bersamaan.
Fungsinya :
- no log sama sekali (tidak nyimpen log sehingga tidak nyampah menuhi disk)
- no cache
- no gzip
- ngincer koneksi tercepat / low latency
user nginx;
worker_processes auto;
# buang error log (langsung ke /dev/null)
error_log /dev/null crit;
pid /run/nginx.pid;
events {
worker_connections 8192;
multi_accept on;
use epoll;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
# matikan semua log
access_log off;
# optimasi koneksi
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 10;
keepalive_requests 5000;
server_tokens off;
types_hash_max_size 2048;
# matikan cache & gzip
proxy_buffering off;
proxy_cache off;
gzip off;
include /etc/nginx/conf.d/*.conf;
}
Jangan lupa terapkan :
nginx -t
systemctl reload nginx
Catatan Tambahan
Berikut catatan settingan proxy file yang lokasinya berada pada directory /etc/nginx/conf.d/
Contoh settingan proxy include koneksi websocket
server {
listen 80;
server_name domain-kamu.com;
location / {
proxy_pass http://127.0.0.1:8080;
# Tambahan untuk optimasi proxy
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Contoh settingan proxy tanpa websocket
server {
listen 80;
server_name domain-kamu.com;
location / {
proxy_pass http://127.0.0.1:8080;
# Header standar proxy
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Contoh settingan proxy domain wilcard
server {
listen 80;
server_name
*.domain1.com
*.domain2.com
*.domain3.com
*.domain4.com
location / {
proxy_pass http://127.0.0.1:8080;
# Header standar proxy
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}