Go項目在linux服務器的部署詳細步驟
大致步驟
以阿里云服務器為例
1.擁有一臺阿里云服務器
2.使用阿里云控制臺打開要使用的端口
3.在Linux上安裝MySQL數(shù)據(jù)庫
4.安裝Go的運行環(huán)境
5.部署項目到服務器,并啟動
6.使用git管理服務器上的代碼,保證實時更新
1.使用阿里云控制臺打開要使用的端口
找到阿里云實例,打開安全組
新建入方向的端口信息,我們這里手動添加,這里操作是要讓別人訪問你服務器的時候,所用到的端口開放
2.在Linux上安裝MySQL數(shù)據(jù)庫
這里我們使用docker鏡像的方法安裝數(shù)據(jù)庫
docker pull mysql:8.0.29
解釋 docker pull 要安裝什么東西:安裝的版本
安裝的版本不寫會默認是最新版
下載好之后就可以查看鏡像了
docker images
可以看到這里面有我們要下載的鏡像
下一步就是要運行鏡像
-v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=123456\ -d mysql:8.0.29
參數(shù)解讀
docker run 3306:3306 --name mysql\ #將容器3306端口映射到主機的3306端口 -v /mydata/mysql/log:/var/log/mysql\ #將配置文件掛載到/mydata/mysql該文件夾下 -v /mydata/mysql/data:/var/lib/mysql\ #將日志文件掛載到/mydata/mysql該文件夾下 -v /mydata/mysql/conf:/etc/mysql\ #將配置文件掛載到/mydata/mysql該文件夾下 -e MYSQL_ROOT_PASSWORD=123456\ #初始化root用戶的密碼為123456 -d mysql:8.0.29 #開機啟動mysql
創(chuàng)建成功后,查看實例
啟動實例
docker start mysql #這里的mysql可以使用別名,也可以使用所創(chuàng)建出實例的id
運行MySQL后可以使用Datagrip、navicat等客戶端工具嘗試連接MySQL,如果連接不上可以查看自己的服務器的安全組,是否開放了3306端口。連接后就可以創(chuàng)建自己的數(shù)據(jù)庫,跟在本地操作數(shù)據(jù)庫方法相同。
3.安裝Go的運行環(huán)境
使用xftp工具將Go的SDK壓縮包上傳到服務器,建議上傳到home目錄下這里注意Go的SDK千萬不要下載錯了
上傳后進行解壓
tar -zxvf 你的壓縮包文件名
解壓完成后去配置環(huán)境變量
vim /etc/profile
打開etc下的profile文件
export GOROOT=/usr/local/go export GOPATH=/usr/local/gopath export PATH=$PATH:$GOROOT/bin
/usr/local是你Go的SDK解壓到的文件夾路徑保存后執(zhí)行profile文件,使之生效,使用source命令(source命令:依次執(zhí)行文件所有語句)
source /etc/profile
使用go version測試是否配置完成
4.將Go項目部署到服務器
首先使用Goland將main文件打包,打包成適合在服務器上運行的文件
可以先在控制臺執(zhí)行下面這個命令
修改命令為 go env -w GOOS=linux
將main文件打包成二進制文件
在項目根目錄下輸入 go build main.go
將你的main二進制文件和config.conf文件上傳到你的項目目錄下,就是說你的main.go文件再哪個目錄,你的main就要在哪個目錄
切換到main所在的目錄
設置文件權限
chmod 777 main //我這里直接給最高權限 這個就是給main文件權限 然后你的main會變成綠色
運行并制定運行環(huán)境和創(chuàng)建日志文件
nohup ./main -c config.dev.yaml > start.log 2>&1 &
查看進程
ps -ef|grep main
正常啟動
查看日志文件有沒有報錯
tail -f start.log
總結(jié)
到此這篇關于Go項目在linux服務器的部署詳細步驟的文章就介紹到這了,更多相關Go在linux服務器的部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
go?time.After優(yōu)化后性能提升34%內(nèi)存減少67%
這篇文章主要介紹了go語言time.After優(yōu)化后性能提升34%內(nèi)存減少67%實例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02go語言中切片Slice與數(shù)組Array對比以及panic:?runtime?error:?index?out?
go語言中數(shù)組與其他語言有在顯著的不同,包括其不能夠進行添加,以及值拷貝的特性,下面這篇文章主要給大家介紹了關于go語言中切片Slice與數(shù)組Array對比以及panic:?runtime?error:?index?out?of?range問題解決的相關資料,需要的朋友可以參考下2022-07-07