Encontranos en redes
GoGolangCompilación7 min de lectura
Instalar Go (Golang) y compilar aplicaciones
Instalá Go, compilá aplicaciones y ejecutalas como servicios en tu VPS Linux.
Go es un lenguaje compilado ideal para servicios web, APIs y herramientas CLI de alto rendimiento.
Paso 1 — Descargar e instalar Go
bash
cd /tmp
curl -LO https://go.dev/dl/go1.22.4.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.4.linux-amd64.tar.gzPaso 2 — Configurar PATH
Agregá al final de ~/.bashrc:
bash
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/binAplicá los cambios:
bash
source ~/.bashrc
go versionPaso 3 — Crear un proyecto de ejemplo
bash
mkdir -p ~/miapi && cd ~/miapi
go mod init miapiCreá main.go:
bash
cat > main.go << 'EOF'
package main
import (
"fmt"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "API corriendo en Baires Host")
})
fmt.Println("Servidor en :8080")
http.ListenAndServe(":8080", nil)
}
EOFPaso 4 — Compilar
bash
go build -o miapi .Esto genera un binario estático sin dependencias.
Paso 5 — Ejecutar
bash
./miapiPaso 6 — Crear servicio systemd
Creá /etc/systemd/system/miapi.service:
ini
[Unit]
Description=Mi API en Go
After=network.target
[Service]
Type=simple
User=deploy
WorkingDirectory=/home/deploy/miapi
ExecStart=/home/deploy/miapi/miapi
Restart=on-failure
RestartSec=5
Environment=PORT=8080
[Install]
WantedBy=multi-user.targetActivá el servicio:
bash
sudo systemctl daemon-reload
sudo systemctl enable miapi
sudo systemctl start miapi
sudo systemctl status miapiPaso 7 — Compilar para producción
bash
# Compilación optimizada
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags='-s -w' -o miapi .Flags:
-s -w: elimina información de debug (binario más chico)CGO_ENABLED=0: binario estático sin dependencias de C
Paso 8 — Actualizar Go
bash
cd /tmp
curl -LO https://go.dev/dl/go1.XX.X.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.XX.X.linux-amd64.tar.gz
go versionGo es perfecto para servicios de alto rendimiento en tu VPS de Baires Host: binarios livianos, arranque instantáneo y bajo consumo de memoria.
¿Te resultó útil esta guía?