簡介golang作為21世紀的c語言,它不僅有著c語言的高效性,同時它還有著python語言的便捷性,作為一個編譯語言,它兼具著出色的效能體驗和良好的開發體驗。編譯成二進位制檔案,然後直
2021-06-30 15:50:53
簡介
golang作為21世紀的c語言,它不僅有著c語言的高效性,同時它還有著python語言的便捷性,作為一個編譯語言,它兼具著出色的效能體驗和良好的開發體驗。
編譯成二進位制檔案,然後直接運行
golang開發的好處是當它部署的時候,它不需要環境依賴,不像java需要虛擬機器才能執行,不像c語言需要各種lib庫才能運行,你只需要將它和作業系統對應編譯生成二進位制檔案,就可以在各個作業系統上直接運行。
編寫服務指令碼,設定成開機自啟動
有些時候,我們希望我們的服務可以優雅的啟動,停止,這個時候,我們可以創建一個服務指令碼來設定我們的程式。
首先,我們可以創建一個服務的文字檔案,然後將下面的內容複製進去,就完成了一個服務的指令碼,然後就可以通過systemctl進行服務的管理。
[Unit]Description=Go sample web appAfter=multi-user.target[Service]User=rootGroup=rootExecStart=/root/go/hello_world[Install]WantedBy=multi-user.target
使用supervisor進行程序服務的管理
對於生成的二進位制檔案,有些時候我們希望有一個管理工具可以對我們的程式進行管理,當程式掛掉的時候,可以自動重啟,它可以監聽程式的異常,而supervisor就是使用python開發的一個這樣的工具。通過supervisor,我們可以優雅地管理我們的golang應用程式。
使用nginx做反向代理
nginx對於靜態檔案的高效處理已經得到實踐的證明,因此對於動態內容的處理我們可以交給golang,而對於靜態檔案我們讓nginx進行處理。
我們只需要讓nginx進行反向代理,監聽tcp埠,將具體的請求轉發給golang程式即可。
nohup 後臺運行
nohup 英文全稱 no hang up(不掛起),用於在系統後臺不掛斷地運行命令,退出終端不會影響程式的運行。
nohup 命令,在預設情況下(非重定向時),會輸出一個名叫 nohup.out 的檔案到當前目錄下,如果當前目錄的 nohup.out 檔案不可寫,輸出重定向到 $HOME/nohup.out 檔案中。
通過使用nohup,我們就可以讓我們的程式在後臺運行。
tmux管理
Tmux 是一個終端複用器(terminal multiplexer),它可以讓我們複用多個終端,它不僅可以管理會話,也可以管理視窗,窗格。
通過tmux新建一個會話,我們可以實現當我們斷開伺服器終端的時候,我們的程式依然可以執行。
總結
雖然上面提到了很多種方式可以運行我們的golang程式,但是面對複雜的業務環境,更多的時候我們還是採用docker等進行容器部署,微服務是當前的發展方向,通過k8s來靈活擴展的程式才是適合時代發展的好方式。
相關文章
簡介golang作為21世紀的c語言,它不僅有著c語言的高效性,同時它還有著python語言的便捷性,作為一個編譯語言,它兼具著出色的效能體驗和良好的開發體驗。編譯成二進位制檔案,然後直
2021-06-30 15:50:53
三星和AMD合作打造移動晶片並不是一個新聞,簡單來說這顆晶片CPU架構還是沿用三星的Exynos,而在GPU架構上則採用了AMD的RDNA 2。這顆晶片說來也打磨了接近兩年,不出意外的話,在今
2021-06-30 15:30:35
企業上雲和數智化轉型是後疫情時代全球企業正在探索的主題。多年來以雲服務著稱的亞馬遜雲科技(Amazon Web Services)正在通過其獨特的全球優勢、全球業務體系和創新能力,幫助
2021-06-30 15:29:39
NXZT恩傑主機板的設計理念與其他板廠有挺大區別的,它們家的主機板注重外觀與功能的結合,而且主要是傾向於外觀,與他們家的機箱與水冷散熱器一樣,採用極簡風格設計,裝到他們家的機
2021-06-30 15:28:52
市場對作業系統更新換代並沒有預期對於個人使用者而言,無論是PC還是移動端的作業系統都已經迭代的足夠成熟,微軟、蘋果、谷歌都已經培養好了使用者習慣,再去獨立的釋出新的作業
2021-06-30 15:28:03
為期兩個月的OPPO 2121未來影像計劃影像徵集正式落下帷幕。由色彩影像旗艦 OPPO Find X3系列與影像探索家姜文,奧斯卡影帝 Eddie Redmayne 聯合發起的OPPO 2121未來影像計劃
2021-06-30 15:14:21