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
编译成功后,当前目录会生成对应的可执行文件(如myapp或hello)。
4. 运行编译后的程序
通过./加上可执行文件名的方式运行程序:
./myapp # 若未自定义文件名,则为./hello
运行后,终端将输出程序结果(如Hello, World!\n)。
5. 可选步骤:解决常见问题
- 权限问题:若运行时报“Permission denied”,需为可执行文件添加执行权限:
chmod +x myapp - 端口占用:若程序是Web应用(如监听8080端口),需确保防火墙允许该端口:
sudo ufw allow 8080 - 依赖管理:若程序依赖第三方库,编译前需通过
go get安装依赖(如go get github.com/gin-gonic/gin)。
6. 可选步骤:开机自启动(生产环境常用)
若需让Golang程序随系统启动自动运行,可使用systemd创建服务:
- 新建服务文件:
sudo nano /etc/systemd/system/myapp.service - 添加以下内容(替换
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 - 启用并启动服务:
sudo systemctl enable myapp.service sudo systemctl start myapp.service
此时,程序会在系统启动时自动运行,可通过systemctl status myapp.service查看状态。
通过以上步骤,即可在Debian系统上完成Golang程序的编译与运行。根据实际需求选择是否进行可选配置(如端口开放、开机自启动)。
以上就是关于“Debian Golang编译后如何运行”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm