Shared hosting mudah, tetapi VPS memberi Anda kecepatan, akses root, dan tanpa tetangga yang berisik. Panduan ini membawa server Ubuntu 24.04 atau 22.04 yang baru hingga menjadi situs web HTTPS yang aktif menggunakan Nginx, dalam sekitar dua puluh menit. Setiap perintah dapat disalin apa adanya.
Yang Anda perlukan
- VPS dengan setidaknya 1 vCPU dan RAM 1 GB (paket dasar kami sudah cukup untuk sebagian besar situs kecil).
- Nama domain yang mengarah ke alamat IP server (lihat panduan kami tentang mengarahkan domain ke VPS).
- Akses SSH sebagai pengguna sudo. Jika server masih baru, lakukan penguatan dasar terlebih dahulu.
1. Instal Nginx
sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx
Buka alamat IP server Anda di browser. Anda akan melihat halaman sambutan Nginx default. Jika tidak, pastikan firewall Anda mengizinkan port 80 dan 443:
sudo ufw allow "Nginx Full"
sudo ufw status
2. Buat folder situs
sudo mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com
echo "<h1>It works</h1>" > /var/www/example.com/html/index.html
Ganti example.com dengan domain Anda sendiri di seluruh bagian.
3. Tambahkan blok server
sudo nano /etc/nginx/sites-available/example.com
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Aktifkan, uji konfigurasi, dan muat ulang:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
4. Tambahkan HTTPS gratis dengan Let's Encrypt
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
Certbot mengedit blok server Anda, mengalihkan HTTP ke HTTPS, dan memasang timer yang memperbarui sertifikat secara otomatis. Periksa timer dengan systemctl list-timers | grep certbot.
5. Buat lebih cepat
Aktifkan kompresi dan caching browser untuk file statis. Tambahkan ini di dalam blok server:
gzip on;
gzip_types text/css application/javascript application/json image/svg+xml;
location ~* \.(css|js|png|jpg|jpeg|webp|svg|woff2)$ {
expires 30d;
add_header Cache-Control "public";
}
Muat ulang Nginx setelahnya. Untuk situs dinamis seperti WordPress, instal PHP-FPM dan teruskan permintaan .php ke sana, atau pasang plugin cache di depannya.
Masalah umum
- 403 Forbidden: Nginx tidak dapat membaca folder. Periksa kepemilikan dan pastikan setiap direktori induk dapat dieksekusi (
chmod o+x). - Certbot gagal: domain belum mengarah ke server, atau port 80 diblokir.
- Halaman default masih muncul: hapus
/etc/nginx/sites-enabled/defaultdan muat ulang.