我正在寻找一种在Amazon EC2上部署go二进制文件的方法。目前,我发现的所有教程(1,2)都在说明如何在ec2上移动go源码并在那里进行编译。
出于某些原因,这不是我要查找的内容。其中:
我认为这是不必要的,因为go具有cross-compile binaries的功能。我认为最好在本地构建二进制文件并将其上传到ec2。
我在这里错过了什么吗,我的方法是否存在任何隐患?还是有更好的方法?
P.S。如果此问题更适合于serverfault,请让我知道或将其移到那里。
答案 0 :(得分:8)
你是对的。 Go的卖点之一是交叉编译为一个二进制文件。最好在localhost进行编译,然后将其复制到您的服务器中。
$ GOOS=linux GOARCH=amd64 go build -o my_app .
$ scp my_app ec2@ip:~