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