濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Go打包二進(jìn)制文件的實(shí)現(xiàn)

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

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

背景

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

操作

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

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

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

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

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

chmod 773 main

直接運(yùn)行即可:

./main

或后臺(tái)執(zhí)行:

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

linux 后臺(tái)運(yùn)行程序

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

一個(gè)例子

比如要讓redis-server程序后臺(tái)運(yùn)行
1.非后臺(tái)運(yùn)行:

$> ./redis-server

2.后臺(tái)運(yùn)行:

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

上面的命令還可簡(jiǎn)寫(xiě):

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

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

后臺(tái)運(yùn)行一個(gè)程序

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

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

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

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

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Go打包二進(jìn)制文件的實(shí)現(xiàn)》,本文關(guān)鍵詞  打包,二進(jìn)制,文件,的,實(shí)現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Go打包二進(jìn)制文件的實(shí)現(xiàn)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Go打包二進(jìn)制文件的實(shí)現(xiàn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    宁强县| 麻江县| 岑巩县| 北川| 昌黎县| 灌南县| 桦川县| 浮梁县| 平江县| 淮北市| 谢通门县| 广元市| 明光市| 曲靖市| 义乌市| 关岭| 绥芬河市| 温泉县| 丹江口市| 奉新县| 巫山县| 巴青县| 册亨县| 宜兰县| 郯城县| 商河县| 平阴县| 凉城县| 湟源县| 井冈山市| 红安县| 新泰市| 鄄城县| 铁力市| 城固县| 冀州市| 永州市| 新疆| 长寿区| 迭部县| 和平县|