首页 / 香港服务器 / 正文
Golang项目部署到服务器,详细步骤与最佳实践,golang 部署1

Time:2024年12月21日 Read:14 评论:42 作者:y21dr45

随着Go语言的广泛应用,越来越多的开发者选择使用Go来构建高性能的网络应用,对于新手而言,将本地开发完成的Go项目成功部署到服务器上并非易事,本文将从几个常见的部署方式入手,详细介绍如何将Go项目部署到服务器上。

Golang项目部署到服务器,详细步骤与最佳实践,golang 部署

一、直接在服务器上运行Go程序

1. 安装Go环境

确保你的服务器已经安装了Go环境,如果尚未安装,可以参考以下步骤进行安装:

更新包索引

    sudo apt update

安装必备依赖

    sudo apt install -y wget

下载并安装Go

    wget https://studygolang.com/dl/golang/go1.16.6.linux-amd64.tar.gz
    sudo tar -C /usr/local -xzf go1.16.6.linux-amd64.tar.gz

配置环境变量

    echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.profile
    source ~/.profile

2. 上传项目代码

使用Xftp、WinSCP等工具将本地的项目文件上传到服务器的目标目录,例如/root/project

3. 运行项目

进入项目目录并运行Go程序:

cd /root/project
nohup ./main.go &

使用nohup 命令可以使程序在后台运行。

优点与缺点

优点:简单直接,适合小型项目。

缺点:每次更新需要重新上传整个项目,不够灵活。

二、将项目打成二进制包再运行

为了减少对服务器环境的依赖,可以将项目打成二进制包再进行部署。

1. 本地打包

在本地设置好目标系统和架构后,编译生成二进制文件:

GOOS=linux GOARCH=amd64 go build -o main

2. 上传二进制文件

同样使用Xftp等工具将编译好的二进制文件以及配置文件上传到服务器。

3. 赋予执行权限并运行

chmod +x main
nohup ./main > output.log 2>&1 &

这样可以通过日志文件output.log 查看程序的输出。

优点与缺点

优点:减少了对运行环境的要求,部署更加灵活。

缺点:每次修改代码都需要重新打包上传,稍微繁琐。

三、使用Docker容器化部署

Docker是一种轻量级的虚拟化技术,可以简化部署过程,并保证运行环境的一致性。

1. 编写Dockerfile

创建一个名为Dockerfile 的文件,内容如下:

使用官方Go镜像作为基础镜像
FROM golang:1.16-alpine as builder
设置工作目录
WORKDIR /app
复制源代码到容器中
COPY . .
下载依赖
RUN go mod download
编译应用程序
RUN CGO_ENABLED=0 GOOS=linux go build -o main .
使用scratch作为基础镜像
FROM scratch
从builder阶段复制可执行文件到新的镜像中
COPY --from=builder /app/main .
暴露端口
EXPOSE 8080
运行可执行文件
CMD ["/main"]

2. 构建Docker镜像

在项目根目录下运行:

docker build -t mygoapp .

3. 上传并运行Docker镜像

将Docker镜像上传到服务器,然后在服务器上运行:

docker run -d -p 8080:8080 mygoapp

优点与缺点

优点:保证了运行环境的一致性,易于扩展和迁移。

缺点:需要额外学习Docker相关知识。

通过以上几种方法,我们可以根据具体需求选择合适的方式将Go项目部署到服务器上,无论是直接运行、打包成二进制文件还是使用Docker容器化部署,每种方法都有其适用场景,希望本文能帮助你顺利完成Go项目的部署工作!

排行榜
关于我们
「好主机」服务器测评网专注于为用户提供专业、真实的服务器评测与高性价比推荐。我们通过硬核性能测试、稳定性追踪及用户真实评价,帮助企业和个人用户快速找到最适合的服务器解决方案。无论是云服务器、物理服务器还是企业级服务器,好主机都是您值得信赖的选购指南!
快捷菜单1
服务器测评
VPS测评
VPS测评
服务器资讯
服务器资讯
扫码关注
鲁ICP备2022041413号-1