🧠 A. Navigasi Dasar Terminal
Pakai perintah ini untuk berpindah-pindah dan mengeksplorasi isi server kamu:
pwd
→ Menampilkan direktori saat inils -lah
→ Melihat isi folder lengkap beserta ukuran filecd nama_folder
→ Masuk ke foldercd ..
→ Kembali ke folder sebelumnyacd ~
→ Masuk ke direktori homecd /
→ Masuk ke direktori root server
📁 B. Kelola File & Folder
Beberapa perintah penting saat mengatur file atau membuat folder:
mkdir nama_folder
→ Buat folder barurm nama_file
→ Hapus filerm -r nama_folder
→ Hapus folder dan semua isinyacp file1 file2
→ Duplikasi filemv 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 mudahvi file.conf
→ Editor lebih canggih, cocok kalau kamu udah jago
Tips keluar dari nano:
Ctrl + X
→ KeluarY
→ Simpan saat keluarN
→ Keluar tanpa simpanCtrl + 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 errorsystemctl reload nginx
→ Muat ulang nginx tanpa restart totalsystemctl restart nginx
→ Restart nginx sepenuhnyajournalctl -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 webchmod -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 paketapt install nginx
→ Install web server nginxapt install php php-fpm
→ Install PHP dan modul PHP-FPMapt install nano
→ Install editor nanoapt install mysql-server
→ Install MySQL server
Optimasi NGINX Agar WordPress Super Cepat – Target PageSpeed 100 & GTmetrix A+
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!
Editing nginx server butuh ketrampilan khusus. Salah paste dan edit bikin web eror. Hal itu di luar tanggung jawab saya.
Penyusun
Anjrah Ari Susanto
No comment yet, add your voice below!