Anjrahweb.com – Kalau kamu baru belajar pegang VPS sendiri, artikel ini untukmu.
Di sini kita bahas dasar-dasar perintah terminal yang sering dipakai, cara utak-atik konfigurasi NGINX, dan langkah-langkah aman saat mengelola server berbasis Debian/Ubuntu.
Serta kita akan bahas tips utak atik nginx-nya supaya loading website jadi cepet. 

🧠 A. Navigasi Dasar Terminal

Pakai perintah ini untuk berpindah-pindah dan mengeksplorasi isi server kamu:

  • pwd → Menampilkan direktori saat ini
  • ls -lah → Melihat isi folder lengkap beserta ukuran file
  • cd nama_folder → Masuk ke folder
  • cd .. → Kembali ke folder sebelumnya
  • cd ~ → Masuk ke direktori home
  • cd / → Masuk ke direktori root server

📁 B. Kelola File & Folder

Beberapa perintah penting saat mengatur file atau membuat folder:

    • mkdir nama_folder → Buat folder baru
    • rm nama_file → Hapus file
    • rm -r nama_folder → Hapus folder dan semua isinya
    • cp file1 file2 → Duplikasi file
    • mv file1 file2 → Pindah atau ganti nama file

✏️ C. Edit File Konfigurasi

Pakai editor ini saat kamu perlu mengubah konfigurasi:

  • nano file.conf → Editor teks paling mudah
  • vi file.conf → Editor lebih canggih, cocok kalau kamu udah jago

Tips keluar dari nano:

  • Ctrl + X → Keluar
  • Y → Simpan saat keluar
  • N → Keluar tanpa simpan
  • Ctrl + O → Simpan (write)

🛡️ D. Langkah Aman Sebelum Edit Konfigurasi

Sebelum utak-atik file, backup dulu!

Misalnya untuk website anjrahweb.com

cp /etc/nginx/sites-available/anjrahweb.com /etc/nginx/sites-available/anjrahweb.com.bak

Kalau konfigurasi rusak, tinggal balikin:

mv /etc/nginx/sites-available/anjrahweb.com.bak /etc/nginx/sites-available/anjrahweb.com

🔧 E. Struktur Penting dalam NGINX

  • /etc/nginx/nginx.conf → Konfigurasi utama nginx
  • /etc/nginx/sites-available/ → Tempat semua konfigurasi domain kamu
  • /etc/nginx/sites-enabled/ → Simbolik link ke domain aktif
  • /var/log/nginx/ → Tempat log akses & error
  • /var/www/html/ → Folder default untuk file website kamu

⚙️ F. Perintah NGINX Harian

  • nginx -t → Cek apakah konfigurasi valid atau ada error
  • systemctl reload nginx → Muat ulang nginx tanpa restart total
  • systemctl restart nginx → Restart nginx sepenuhnya
  • journalctl -xe → Lihat log error terbaru dari sistem dan nginx

🔐 G. Perizinan File & Folder

Perintah ini penting untuk menghindari error “Permission denied”:

  • chown -R www-data:www-data nama_folder → Ubah pemilik folder ke user web
  • chmod -R 755 nama_folder → Atur izin folder agar bisa dibaca dan dijalankan

📦 H. Instalasi Dasar (Ubuntu/Debian)

Kalau butuh install program tambahan:

  • apt update → Update daftar paket
  • apt install nginx → Install web server nginx
  • apt install php php-fpm → Install PHP dan modul PHP-FPM
  • apt install nano → Install editor nano
  • apt install mysql-server → Install MySQL server

Optimasi NGINX Agar WordPress Super Cepat – Target PageSpeed 100 & GTmetrix A+

Cheat Sheet Terminal, NGINX Dasar, Optimasi Speed WordPress untuk Pemula

Kalau kamu pakai VPS dengan NGINX + PHP-FPM di Debian atau Ubuntu, dan pengin website WordPress kamu melesat super cepat, ini panduan wajibnya.

Kita akan bahas setting NGINX yang bisa bantu kejar skor PageSpeed Insight 100 dan GTmetrix Grade A (100/100).

✅ 1. Aktifkan GZIP Compression

Tambahkan di /etc/nginx/nginx.conf atau /etc/nginx/conf.d/gzip.conf:

gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_min_length 256;
gzip_types
  application/javascript
  application/json
  application/xml
  application/rss+xml
  text/css
  text/html
  text/plain
  text/xml;

✅ 2. Tambahkan Expires Headers (Browser Caching)

Di dalam file domain config (sites-available):

location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2|svg|eot|ttf|otf)$ {
    expires 30d;
    add_header Cache-Control "public, no-transform";
    access_log off;
    log_not_found off;
}

✅ 3. Aktifkan FastCGI Cache

Di atas blok server {:

fastcgi_cache_path /var/cache/nginx/domain.com levels=1:2 keys_zone=domain_cache:10m inactive=60m use_temp_path=off;

Di dalam location ~ \.php$:

fastcgi_cache domain_cache;
fastcgi_cache_valid 200 301 302 10m;
fastcgi_cache_use_stale error timeout updating;
add_header X-FastCGI-Cache $upstream_cache_status;

✅ 4. Lindungi Login WordPress

Blok user-agent jahat & brute-force:

location = /wp-login.php {
    limit_req zone=limit burst=1 nodelay;
    fastcgi_pass unix:/run/php/php8.x-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

Dan di nginx.conf bagian http {}:

limit_req_zone $binary_remote_addr zone=limit:10m rate=1r/s;

✅ 5. Nonaktifkan Akses File Sensitif

location ~* \.(htaccess|htpasswd|env|log|ini|conf|bak)$ {
    deny all;
}

✅ 6. Optimasi SSL + HTTP/2

listen 443 ssl http2;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_ciphers 'TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256';
ssl_prefer_server_ciphers on;

✅ 7. Matikan Log File Statis

location ~* \.(ico|jpg|jpeg|png|gif|css|js|woff|woff2|svg)$ {
    access_log off;
    log_not_found off;
}

✅ 8. (Opsional) Aktifkan Brotli

Brotli butuh module tambahan, tapi bisa menggantikan gzip dan hasilnya lebih kecil. Cocok buat kamu yang siap ke level lanjut.

✅ 9. Tambahkan Cache-Control Header

location / {
    add_header Cache-Control "public, max-age=300, s-maxage=300";
}

🎯 Target Score

  • TTFB: < 100ms
  • LCP: < 2 detik
  • CLS: 0
  • GTmetrix: A (Performance 100, Structure 100)
  • PageSpeed Mobile: 90+, Desktop: 100

🧠 Tips Tambahan

  • Gunakan plugin minimal: hanya untuk optimasi CSS/JS, lazyload, CDN.
  • Pasang Redis atau Object Cache untuk database.
  • Minify HTML/JS/CSS via WP Fastest Cache (tanpa aktifkan cache-nya).
  • Gunakan theme yang ringan dan clean (bukan yang penuh animasi berat).

Dengan setup ini, server kamu bisa menyajikan WordPress secepat kilat, bahkan mengalahkan situs korporat besar. Selamat menyusul skor sempurna!

⚠️ WARNING
Editing nginx server butuh ketrampilan khusus. Salah paste dan edit bikin web eror. Hal itu di luar tanggung jawab saya.

Penyusun

Anjrah Ari Susanto

Recommended Posts

No comment yet, add your voice below!


Add a Comment

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