Golang projenin linux sunucuda deploy işlemi

Image for post
Image for post

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

Image for post
Image for post

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
Image for post
Image for post

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

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store