go從編寫web代碼到部署linux服務器


首先省略編寫代碼的過程,成功在本地ip測試成功后,將監聽的ip和端口改為服務器的

  1. 首先你要知道需要配置的服務器的構架,一般是amd64,arm,可以在服務器里輸入uname -a查看

  2. 然后進入目標項目目錄,可以直接在goland終端中,如

    也可以cmd進入

  3. 依次輸入set GOOS=linux, //這是生成對應系統打包好的程序(可以直接運行的,如果不改就默認是win,生成exe文件
    set GOARCH=arm //改為上面查找的服務器構架
    go build main.go //build 后面是你的文件
    然后會報錯cannot find package "golang.org/x/sys/unix",這是因為沒有下打包需要的庫

  4. 下載golang/sys.git包
    首先設置代理go env -w GOPROXY=https://goproxy.cn //你懂的
    然后go env -w GO111MODULE=on
    然后拉包go get github.com/golang/sys.git //也可以git clone,或者直接下載,但是直接下載zip文件是沒有依賴包的
    如果golan里直接出現這個

    那是因為goland配置了git,你可以直接點install,
    然后在項目src里github.com目錄找到找到下載的包sys,把它移動到golang.org\x,沒有就自己建,如下

    然后在go build main.go,發現成功了

  5. 接下來就是把生成的文件傳到服務器上
    首先打開cmd,使用scp命令將文件傳過去

    使用方法:scp 源文件路徑 賬戶@地址:目的路徑

    scp C:\Users\zbh\Desktop\1.txt lucas@192.168.11.150:/home/lucas/
    6.然后ssh連接服務器,進入剛保存到目錄,輸入./main //main改為你的包名
    會彈出bash:權限不夠,於是輸入chmod 777 main,再輸入./main,會發現程序執行成功了,
    現在你可以打開客戶端試一試你的程序效果,如果成功,那我們還有最后一步

7.當你直接關閉ssh時,你會發現程序又停止了,那是因為./main這個命令只是暫時執行,如果想要一直掛起的話,需要使用nohup命令
輸入nohup ./main &,這就成功了,再輸入ps aux|grep main查看一下進程,發現正在執行,這就成功了,要關閉程序的話,直接kill掉進程就ok啦

參考:
https://blog.csdn.net/u013474104/article/details/78638710
https://blog.csdn.net/taoerchun/article/details/92787743
https://www.jianshu.com/p/bfaba9b6d46d
https://www.cnblogs.com/jiangyao/archive/2011/01/26/1945570.html
https://blog.csdn.net/weixin_42506905/article/details/90339253
https://blog.csdn.net/u013172063/article/details/52440384


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM