
Untuk menjalankan aplikasi Go (Golang) sebagai layanan (service) di sistem Linux, Anda dapat menggunakan alat seperti systemd. Berikut langkah-langkah umum untuk menjalankan aplikasi Golang sebagai layanan di Linux:
Kompilasi Aplikasi Golang
Pastikan Anda telah mengompilasi aplikasi Golang Anda menjadi sebuah binary yang dapat dijalankan. Anda dapat melakukan ini dengan perintah go build. Pastikan binary tersebut dapat diakses dan dieksekusi.
Buat File Unit Systemd
Anda perlu membuat sebuah unit systemd file yang akan menjalankan aplikasi Golang Anda sebagai layanan. Buat file dengan ekstensi .service di direktori /etc/systemd/system/, contoh: /etc/systemd/system/mygoapp.service. Edit file tersebut dengan hak superuser.
Contoh isi file mygoapp.service:
[Unit]
Description=My Golang Application
[Service]
ExecStart=/path/to/your/go/binary WorkingDirectory=/path/to/your/app Restart=always
[Install]
WantedBy=multi-user.target
Gantilah /path/to/your/go/binary dengan jalur lengkap ke binary Golang Anda dan /path/to/your/app dengan direktori aplikasi Anda.
Reload Systemd
Setelah Anda membuat unit systemd, Anda perlu memuat ulang systemd untuk mendeteksi unit baru. Lakukan ini dengan perintah:
sudo systemctl daemon-reload
Mulai Layanan
Untuk memulai layanan Golang, gunakan perintah:
sudo systemctl start mygoapp
Mengaktifkan Layanan Autostart (Opsional)
Jika Anda ingin layanan Golang dijalankan otomatis saat sistem boot, gunakan perintah:
sudo systemctl enable mygoapp
Lihat Status Layanan
Anda dapat melihat status layanan dengan perintah:
sudo systemctl status mygoapp
Mengelola Layanan
Untuk menghentikan, menjalankan ulang, atau menonaktifkan layanan, gunakan perintah systemctl, misalnya:
sudo systemctl stop mygoapp # Menghentikan layanan
sudo systemctl restart mygoapp # Menjalankan ulang layanan
sudo systemctl disable mygoapp # Menonaktifkan layanan
Itu adalah panduan umum untuk menjalankan aplikasi Golang sebagai layanan di Linux menggunakan systemd. Pastikan untuk mengganti nilai-nilai dalam file unit sesuai dengan konfigurasi aplikasi Anda.