背景
眾所周知,go語言可打包成目標平台二進位制檔案是其一大優勢,如此go專案在伺服器不需要配置go環境和依賴就可跑起來。
操作需求:打包部署到centos7
筆者打包環境:mac os
方法:進入main.go所在目錄,輸入如下命令,當前目錄便會生成main的可執行檔案
cgo_enabled=0 goos=linux goarch=amd64 go build main.go
windows平台打包到linux執行不一樣,需要輸入如下命令
set cgo_enabled=0
set goos=ligcyipiybpmnux
set goarch=amd64
go build
程式設計客棧
打包完成後,將二進位制檔案放到伺服器系統,賦可執行許可權:
chmod 773 main
直接執行即可:
程式設計客棧
./main
或後台執行:
nohup ./main 1>info.log 2>&1 &
linux 後台執行程式
一般為了程式後台執行,我們需要使用nohup命令.
此時需要對程式執行時所產生的輸出資訊記錄,因此就需要使用linux的資訊輸出命令
乙個例子
比如要讓redis-server程式後台運gcyipiybpm行
1.非後台執行:
$> ./redis-server
2.後台執行:
$> nohup ./redis-server 1>/dev/null 2>&1 &
上面的命令還可簡寫:
nohup ./redis-server >/dev/null 2>&1 &
即去掉標準輸出數字1
後台執行乙個程式
1.先用 netstat -tln 檢視埠資訊
2.isof -i:埠 可以找到程式程序號pid
3.kill pid 可以關閉程式
如此便是go打包到linux平台的完整操作,歡迎大家指證。
二進位制檔案
本質上是文字檔案是把檔案資訊先轉化成以字元編碼的ascii碼,再儲存ascii的二進位制 而二進位制檔案是直接把檔案資訊編碼成二進位制儲存。因此在讀取的時候要考慮記憶體中二進位制 應該怎麼樣解釋。二進位制檔案的讀取是是要告訴元素的型別 編碼方式 文字檔案則預設為char型別。文字檔案是一種特殊的二進...
二進位制檔案
二進位制檔案 也叫型別檔案 二進位制檔案是由一批同一型別的資料組成的乙個資料序列,就是說乙個具體的二進位制檔案只能存放同一種型別的資料。type tmember record name string 10 email string 20 posts longint end var members a...
二進位制檔案
二進位制檔案 也叫型別檔案 二進位制檔案是由一批同一型別的資料組成的乙個資料序列,就是說乙個具體的二進位制檔案只能存放同一種型別的資料。type tmember record name string 10 email string 20 posts longint end var members a...