OffshoreVps
Tutorial14 Okt 20269 menit bacaOleh tim OffshoreVps

Cara Hosting Situs Web di VPS dengan Nginx dan HTTPS

Instal Nginx di Ubuntu, buat server block, tambahkan sertifikat Let's Encrypt gratis, dan percepat situs. Perintah siap salin untuk situs live dalam 20 menit.

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.

Jendela terminal di VPS yang menampilkan perintah untuk meng-host situs web dengan Nginx dan HTTPS, diawali dengan “sudo apt update”
Jenis perintah yang akan Anda jalankan di server dalam panduan ini.

Yang Anda perlukan

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.

Langkah-langkah panduan ini secara berurutan: 1. Apa yang Anda perlukan; 2. 1. Instal Nginx; 3. 2. Buat folder situs; 4. 4. Tambahkan HTTPS gratis dengan Let's Encrypt; 5. 5. Buat lebih cepat; 6. Masalah umum
Langkah-langkah dalam panduan ini, secara berurutan.

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/default dan muat ulang.