golang项目如何上线部署到Linu服务器(方法详解)

  • Post category:Linux

下面是针对“golang项目如何上线部署到Linux服务器”的详细攻略。

1. 安装 Linux 环境

首先,我们需要安装一台 Linux 环境的服务器。可以选择 CentOS、Ubuntu 等常用 Linux 发行版本。

2. 安装 Golang 环境

在 Linux 环境下,可以通过包管理器进行 Golang 的安装,也可以到官网下载二进制包进行手动安装。下面是常见 Linux 发行版本下的安装方式:

CentOS 安装

sudo yum install golang

Ubuntu 安装

sudo apt install golang

3. 编写 Golang 代码

在本地开发环境中编写好 Golang 代码,并进行测试调试。

4. 将 Golang 代码部署到服务器

可以通过以下两种方式将 Golang 代码部署到服务器中:

方式一:SCP 命令传送文件

在本地终端使用 SCP 命令将 Golang 代码传送到服务器的目标文件夹中。

scp ~/Desktop/myapp user@192.168.1.100:/home/user/myapp

其中,~/Desktop/myapp 是本地 Golang 代码所在的文件夹,user 是服务器用户名,192.168.1.100 是服务器 IP 地址,/home/user/myapp 是服务器上的目标文件夹。

方式二:Git 克隆仓库

在服务器上通过 Git 克隆代码仓库,将代码拉取到服务器中。

git clone https://github.com/username/repo.git

5. 编写启动脚本

在服务器中编写启动脚本,以便可以通过脚本启动 Golang 服务。以下是示例代码:

#!/bin/sh

cd /home/user/myapp

nohup ./myapp > /dev/null 2>&1 &

echo "myapp server started"

其中,/home/user/myapp 是服务器中的目标文件夹,myapp 是 Golang 程序的可执行文件名。

6. 启动 Golang 服务

执行启动脚本,启动 Golang 服务。

./start.sh

通过以上步骤,就可以将本地开发的 Golang 代码部署到 Linux 服务器中,并在服务器中启动服务。

示例说明:

  1. 假设我们在本地环境中编写了一个简单的 Golang Web 服务,代码如下:
package main

import (
    "fmt"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello World!")
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}
  1. 我们在 CentOS 环境下安装了 Golang,并将代码文件夹通过 SCP 命令传送到服务器中的 /home/user/myapp 目录下。
scp ~/Desktop/myapp user@192.168.1.100:/home/user/myapp
  1. 在服务器中编写了启动脚本,内容如下:
#!/bin/sh

cd /home/user/myapp

nohup ./myapp > /dev/null 2>&1 &

echo "myapp server started"
  1. 最后执行启动脚本,启动 Golang 服务。
./start.sh

这样就可以在服务器中启动 Golang Web 服务并访问了。