debian

Debian Golang编译后如何运行

小樊
41
2025-10-12 15:00:05
栏目: 编程语言

Debian系统下Golang编译后运行的完整流程

1. 准备工作:安装Golang环境

在编译运行Golang程序前,需确保Debian系统已安装Golang。可通过以下命令快速安装:

sudo apt update
sudo apt install golang-go

安装完成后,通过go version命令验证安装是否成功(输出类似go version go1.20.3 linux/amd64即为成功)。

2. 编写Golang代码

创建项目目录并编写代码。例如,新建hello项目目录,编写main.go文件:

mkdir hello && cd hello
nano main.go

输入以下示例代码(一个简单的“Hello, World!”程序):

package main
import "fmt"
func main() {
    fmt.Println("Hello, World!")
}

保存并退出编辑器。

3. 编译Golang程序

在项目目录下,使用go build命令编译代码。默认会生成与目录同名的可执行文件:

go build

若需自定义可执行文件名(如myapp),可通过-o参数指定:

go build -o myapp

编译成功后,当前目录会生成对应的可执行文件(如myapphello)。

4. 运行编译后的程序

通过./加上可执行文件名的方式运行程序:

./myapp  # 若未自定义文件名,则为./hello

运行后,终端将输出程序结果(如Hello, World!\n)。

5. 可选步骤:解决常见问题

6. 可选步骤:开机自启动(生产环境常用)

若需让Golang程序随系统启动自动运行,可使用systemd创建服务:

  1. 新建服务文件:
    sudo nano /etc/systemd/system/myapp.service
    
  2. 添加以下内容(替换myuser为你的用户名,/home/myuser/hello为程序路径):
    [Unit]
    Description=My Golang Application
    After=network.target
    
    [Service]
    User=myuser
    Group=myuser
    WorkingDirectory=/home/myuser/hello
    ExecStart=/home/myuser/hello/myapp
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    
  3. 启用并启动服务:
    sudo systemctl enable myapp.service
    sudo systemctl start myapp.service
    

此时,程序会在系统启动时自动运行,可通过systemctl status myapp.service查看状态。

通过以上步骤,即可在Debian系统上完成Golang程序的编译与运行。根据实际需求选择是否进行可选配置(如端口开放、开机自启动)。

0
看了该问题的人还看了