GO语言编译程序部署到linux下
sunmiao редактира тази страница преди 9 години

GO语言编译程序部署到linux下

开发环境

  • go环境为 :go1.2 windows/386
  • 开发IDE为:liteidex20.1

目标

使用开发工具liteide对go程序进行交叉编译,使我们开发的程序能直接运行在linux上

操作步骤

1.进入cmd命令行,cd到go环境的安装目录下的src目录;然后依次执行以下命令(执行前先安装tdm64-gcc-4.8.1-3,在ftp上下载):

set GOOS=linux
set GOARCH=386
set CGO_ENABLED=0
make.bat

如果要生成64位linux下的运行程序则依次输入下列命令:

set GOOS=linux
set GOARCH=amd64
set CGO_ENABLED=0
make.bat

如果要生成arm6下的运行程序则依次输入下列命令:

set GOOS=linux
set GOARCH=arm
set GOARM=6
set CGO_ENABLED=0
make.bat

例如:我将go环境安装在D:\Go下,并且我要生成32位linux下的运行程序;则我需要在cmd命令行下输入:

C:\Users\Administrator>d:
D:\>cd d:/go/src
d:\Go\src> set GOOS=linux
d:\Go\src> set GOARCH=386
d:\Go\src> set CGO_ENABLED=0
d:\Go\src> make.bat

2.执行完第一步后,就可以在IDE中对GO程序进行交叉编译了;在IDE中将编译的环境变量设置为cross-linux32(根据需要选择),然后点击查看》编辑环境变量,根据go的安装配置好设置信息,保存!

3.切换到程序的入口页面(即main方法页面),点击build则会在项目根目录生成相应的执行文件,执行文件名称为根目录的文件名。

将生成的执行文件和程序一些其他的文件(主要是一些和程序相关的静态文件)上传到linux服务器,这里因为我们使用的是beego框架,所以除了上传执行文件外还需要将views,static,conf等3个文件夹上传到服务器。

4.进入linux系统下刚刚上传文件的目录,使用权限命令

chmod 777 程序名称

然后使用使程序在后台运行的命令

nohup ./程序名 &

如果要关闭程序,可以使用命令”ps” 查看后台程序的pid,然后使用“kill 程序pid”命令,关闭程序 比如程序名为test,可以用如下命令查询

ps aux|grep test