Golang projenin linux sunucuda deploy işlemi

Bugün Golang ile yazılmış bir projeyi sunucuda nasıl çalıştırırız kısaca ona deyineceğim.

Öncelikle projemizi sunucuya yükleyelim.Daha sonra gereklilikleri yüklemek için

go mod tidy

komutunu çalıştırdıktan sonra main.go dosyasının bulunduğu dizine gelip projeyi build alalım.

go build -o webpage

NOT: Burada belirtiğimiz webpage yi siz istediğiniz gibi değiştirebilirsiniz, projeyi bu isim üzerinden çalıştıracağız.

Şimdi denemek için deploy ettiğimiz projeyi çalıştıralım.Bunun için sadece projenin ismini yazmanız yeterli.
Örneğin yukardaki projeye göre ./webpage komutu.

Projeyi bu şekilde çalıştırdığımız zaman terminali kapatırsak projemizde durur.Bu sebeple projemizi servis olarak arkaplanda çalıştırmalıyız. Bunun için /etc/systemd/system dizinine gidip bir servis dosyası oluşturalım.

sudo nano golangweb.service

Bu dosyanın içerisine aşağıdakileri yapıştıralım.

Dosyayı kaydedip kapatalım. Şimdi ayarların geçerli olabilmesi için sunucumuzu yeniden başlatalım.

sudo reboot

Sunucu yeniden başlatıldıktan sonra tekrar /etc/systemd/system dizine gidelim. Şimdi sıra geldi bu servisi aktif hale getirmeye

sudo systemctl enable golangweb.service

Daha sonra aktif hale getirdiğimiz servisi çalışır duruma getirelim.

sudo systemctl start golangweb.service

Tüm ayarlarımız bu kadar şimdi servisin durumunu kontrol edelim

sudo systemctl status golangweb.service

Eğer servis çalışır durumda ise bir problem yok demektir ve gerekli ayarların geçerli olması için sunucumuzu yeniden başlatalım.

sudo reboot

Sunucumuz ayağa kalktığında projemizin kendi portunda(benim projemde 8080) artık background da çalışan bir projemiz var.
😊😊😊