Netly.win – Jika mempunyai banyak server, Anda mungkin ingin memantau uptime dan penggunaan resource dari server-server tersebut. Cukup merepotkan jika harus mengecek satu per satu melalui shell. Untungnya, Anda dapat menggunakan alat seperti Nezha yang menyediakan panel monitor untuk memantau seluruh resource dari server yang ada, hanya dalam satu website.
Artikel ini menjelaskan cara memasang Nezha di NAT VPS. Artikel ini menggunakan Ubuntu 22.04 sebagai acuan. Untuk OS lain, silahkan menyesuaikan langkah-langkah yang tertera.
Artikel ini merupakan pembaruan dari artikel lama. Proses instalasi Nezha banyak yang berubah semenjak artikel lama ditulis, termasuk GitHub OAuth yang tidak lagi diperlukan.
Konfigurasi Port Forwarding
Mengingat kita menggunakan NAT, kita perlu menambahkan 1 konfigurasi port forwarding pada panel Virtualizor (atau panel VPS lain sesuai provider). Port ini akan digunakan mengakses panel Nezha melalui IP publik NAT VPS.
Sebagai contoh, pada artikel ini akan menggunakan port 32505. Anda bebas mengganti port ini sesuai pilihan Anda. Catat port ini, karena kita akan menggunakannya lagi pada proses konfigurasi.
Install Nezha
Kita akan menggunakan script instalasi resmi untuk memasang Nezha secara otomatis.
Pertama, install curl:
apt install curl -y
Kemudian, unduh dan jalankan script dengan perintah berikut:
curl -L -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
Pada Select your installation method:
, pilih Docker
untuk mempermudah instalasi.
Masukkan 1
untuk memulai instalasi.
- Please enter the site title: Nama panel Anda. Bebas, contoh: “Panel Tutorial”
- Please enter the exposed port: (default 8008): Port yang telah Anda tentukan sebelumnya, contoh: 32505
- Please specify the preset nezha-agent host in install commands: (e.g. example.com:443): Masukkan dengan format: IP.Publik.NAT.VPS:PortNezha. Contoh: 141.11.190.114:32505
- Do you prefer to connect Agent via TLS? [y/N]: Masukkan N karena kita belum mengonfigurasi HTTPS
Tunggu hingga instalasi selesai.
Mengakses Panel
Panel Nezha dapat diakses melalui alamat: http://:, contoh: http://141.11.190.114:32505.
Untuk login, kredensial default adalah admin sebagai username dan password. Harap ganti setelah login pertama untuk mengamankan panel.
Konfigurasi NGINX (Reverse Proxy)
Kita juga dapat memasang reverse-proxy seperti NGINX agar dapat mengakses Nezha melalui domain, seperti nezha-tutorial.mdinata.my.id. Tujuannya agar lebih mudah untuk diakses serta dapat memasang SSL (HTTPS) demi mendukung koneksi antarserver yang lebih aman.
Sebelum itu, Anda perlu menambahkan 2 domain forwarding dengan protokol HTTP dan HTTPS agar domain dapat mengakses NAT VPS Anda. Tambah domain forwarding seperti berikut:
Jangan lupa untuk menambahkan DNS record yang menuju ke IP publik NAT VPS Anda, seperti ini:
Jika sudah, saatnya memasang NGINX dan menambahkan konfigurasi virtual host.
Pertama, install NGINX melalui perintah:
# Hapus Apache2 dan pendukungnya (biasanya terpasang secara bawaan di VPS OpenVZ) apt purge apache2* -y # Install NGINX apt install nginx -y
Buat konfigurasi host baru khusus untuk Status:
nano /etc/nginx/sites-available/nezha
Kemudian tempelkan konfigurasi berikut:
# Konfigurasi NGINX untuk deploy Nezha di NAT VPS # server { listen 80; listen [::]:80; server_name nezha-tutorial.mdinata.my.id; # Replace with your domain underscores_in_headers on; # set_real_ip_from 0.0.0.0/0; # Replace with your CDN's IP ranges # real_ip_header CF-Connecting-IP; # Replace with your CDN's private header, default for Cloudflare # Comment the above two lines if Nginx is the outermost layer. # gRPC Configuration location ^~ /proto.NezhaService/ { grpc_set_header Host $host; grpc_set_header nz-realip $http_CF_Connecting_IP; # Replace with your CDN's private header # Uncomment the next line and comment the above if Nginx is the outermost layer # grpc_set_header nz-realip $remote_addr; grpc_read_timeout 600s; grpc_send_timeout 600s; grpc_socket_keepalive on; client_max_body_size 10m; grpc_buffer_size 4m; grpc_pass grpc://dashboard; } # WebSocket Configuration location ~* ^/api/v1/ws/(server|terminal|file)(.*)$ { proxy_set_header Host $host; proxy_set_header nz-realip $http_cf_connecting_ip; # Replace with your CDN's private header # Uncomment the next line and comment the above if Nginx is the outermost layer # proxy_set_header nz-realip $remote_addr; proxy_set_header Origin proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 3600s; proxy_send_timeout 3600s; proxy_pass } # Web Traffic Configuration location / { proxy_set_header Host $host; proxy_set_header nz-realip $http_cf_connecting_ip; # Replace with your CDN's private header # Uncomment the next line and comment the above if Nginx is the outermost layer # proxy_set_header nz-realip $remote_addr; proxy_read_timeout 3600s; proxy_send_timeout 3600s; proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; proxy_max_temp_file_size 0; # If you use nginx as the outermost layer, enable this line to avoid protocols that cannot be accessed correctly # proxy_set_header X-Forwarded-Proto $scheme; proxy_pass } } upstream dashboard { server 127.0.0.1:8008; keepalive 512; }
Sesuaikan nezha-tutorial.mdinata.my.id
dengan domain Anda, serta port 8008
pada proxy_pass
dengan port Nezha Anda.
Aktifkan konfigurasi tersebut dengan:
ln -sf /etc/nginx/sites-available/nezha/etc/nginx/sites-enabled/nezha # Restart NGINX systemctl restart nginx
Agar domain kita dapat diakses melalui HTTPS, kita perlu membuat sertifikat SSL. Kita dapat menggunakan sertifikat SSL gratis dari Let’s Encrypt melalui Certbot.
Install Certbot dan plugin NGINX nya menggunakan perintah:
apt install python3-certbot python3-certbot-nginx
Lalu, generate sertifikat melalui Certbot dengan perintah
certbot --nginx -d nezha-tutorial.mdinata.my.id
Ganti nezha-tutorial.mdinata.my.id
dengan domain Anda.
Terakhir, kita perlu mengubah alamat host Nezha pada konfigurasinya. Buka file /opt/nezha/dashboard/data/config.yaml
:
nano /opt/nezha/dashboard/data/config.yaml
Pada install_host
, ganti menjadi: <domainAnda>:443. Contoh:
install_host: nezha-tutorial.mdinata.my.id
Simpan file, kemudian restart Nezha dengan perintah:
~/nezha.sh restart_and_update
Selamat! Nezha saat ini dapat diakses melalui domain Anda dan dengan koneksi aman HTTPS.
Penutup
Demikianlah artikel ini mengenai langkah-langkah deploy Nezha di NAT VPS. Jika bingung atau ragu, jangan sungkan untuk bertanya di grup Telegram @IPv6Indonesia. Terima kasih!
You read on Netly.win