主頁 > 知識庫 > Go打包二進制文件的實現(xiàn)

Go打包二進制文件的實現(xiàn)

熱門標(biāo)簽:地圖標(biāo)注測試 濮陽自動外呼系統(tǒng)代理 澳門防封電銷卡 長沙ai機器人電銷 烏魯木齊人工電銷機器人系統(tǒng) 賺地圖標(biāo)注的錢犯法嗎 智能電銷機器人營銷 福州鐵通自動外呼系統(tǒng) 廣東語音外呼系統(tǒng)供應(yīng)商

背景

眾所周知,go語言可打包成目標(biāo)平臺二進制文件是其一大優(yōu)勢,如此go項目在服務(wù)器不需要配置go環(huán)境和依賴就可跑起來。

操作

需求:打包部署到centos7
筆者打包環(huán)境:mac os
方法:進入main.go所在目錄,輸入如下命令,當(dāng)前目錄便會生成main的可執(zhí)行文件

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go

Windows平臺打包到Linux執(zhí)行不一樣,需要輸入如下命令

set CGO_ENABLED=0
set GOOS=linux
set GOARCH=amd64
go build
  • CGO_ENABLED 表示不使用cgo
  • GOOS 表示目標(biāo)平臺系統(tǒng)(Windows,linux,darwin「mac os」等等)
  • GOARCH 表示目標(biāo)系統(tǒng)架構(gòu)(arm arm64 386 amd64 等等)

打包完成后,將二進制文件放到服務(wù)器系統(tǒng),賦可執(zhí)行權(quán)限:

chmod 773 main

直接運行即可:

./main

或后臺執(zhí)行:

nohup ./main 1>info.log 2>1 

linux 后臺運行程序

一般為了程序后臺運行,我們需要使用nohup命令.
此時需要對程序運行時所產(chǎn)生的輸出信息記錄,因此就需要使用linux的信息輸出命令

一個例子

比如要讓redis-server程序后臺運行
1.非后臺運行:

$> ./redis-server

2.后臺運行:

$> nohup ./redis-server 1>/dev/null 2>1 
  • 其中數(shù)字1代表標(biāo)準(zhǔn)輸出,2代表錯誤信息輸出,還有未使用的標(biāo)準(zhǔn)輸入即數(shù)字0.
  • 1>/dev/null 2>1 的意思是標(biāo)準(zhǔn)信息輸出到空設(shè)備即不做任何處理,也不做任何顯示,/dev/null也可以替換為文本文件名(如 out.log),此時標(biāo)準(zhǔn)信息就會輸出到指定文件.
  • 2>1表示錯誤信息輸出到標(biāo)準(zhǔn)輸出,即輸出同1>后面的位置,當(dāng)然也可以直接指定新文件名(如 err.log).
  • 最后的 表示程序后臺運行

上面的命令還可簡寫:

nohup ./redis-server >/dev/null 2>1 

即去掉標(biāo)準(zhǔn)輸出數(shù)字1

后臺運行一個程序

1.先用 netstat -tln 查看端口信息
2.isof -i:端口 可以找到程序進程號PID
3.kill PID 可以關(guān)閉程序

如此便是go打包到linux平臺的完整操作,歡迎大家指證。

到此這篇關(guān)于Go打包二進制文件的實現(xiàn)的文章就介紹到這了,更多相關(guān)Go打包二進制文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

您可能感興趣的文章:
  • 如何使用Jenkins編譯并打包SpringCloud微服務(wù)目錄
  • 詳解React項目如何修改打包地址(編譯輸出文件地址)
  • vue編譯打包本地查看index文件的方法
  • Android應(yīng)用程序(APK)的編譯打包過程
  • Gradle編譯打包Android apk詳細介紹
  • Android開發(fā)apk反編譯和二次打包教程
  • Android筆記之:App自動化之使用Ant編譯項目多渠道打包的使用詳解

標(biāo)簽:貴陽 西雙版納 太原 慶陽 調(diào)研邀請 阿克蘇 德州 廣西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Go打包二進制文件的實現(xiàn)》,本文關(guān)鍵詞  打包,二進制,文件,的,實現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Go打包二進制文件的實現(xiàn)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Go打包二進制文件的實現(xiàn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章