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.
😊😊😊