Go項(xiàng)目在linux服務(wù)器的部署詳細(xì)步驟
大致步驟
以阿里云服務(wù)器為例
1.擁有一臺(tái)阿里云服務(wù)器
2.使用阿里云控制臺(tái)打開要使用的端口
3.在Linux上安裝MySQL數(shù)據(jù)庫
4.安裝Go的運(yùn)行環(huán)境
5.部署項(xiàng)目到服務(wù)器,并啟動(dòng)
6.使用git管理服務(wù)器上的代碼,保證實(shí)時(shí)更新
1.使用阿里云控制臺(tái)打開要使用的端口
找到阿里云實(shí)例,打開安全組

新建入方向的端口信息,我們這里手動(dòng)添加,這里操作是要讓別人訪問你服務(wù)器的時(shí)候,所用到的端口開放

2.在Linux上安裝MySQL數(shù)據(jù)庫
這里我們使用docker鏡像的方法安裝數(shù)據(jù)庫
docker pull mysql:8.0.29解釋 docker pull 要安裝什么東西:安裝的版本
安裝的版本不寫會(huì)默認(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ī)啟動(dòng)mysql
創(chuàng)建成功后,查看實(shí)例

啟動(dòng)實(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測(cè)試是否配置完成

4.將Go項(xiàng)目部署到服務(wù)器
首先使用Goland將main文件打包,打包成適合在服務(wù)器上運(yùn)行的文件
可以先在控制臺(tái)執(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會(huì)變成綠色
運(yùn)行并制定運(yùn)行環(huán)境和創(chuàng)建日志文件
nohup ./main -c config.dev.yaml > start.log 2>&1 &
查看進(jìn)程
ps -ef|grep main
正常啟動(dòng)

查看日志文件有沒有報(bào)錯(cuò)
tail -f start.log
總結(jié)
到此這篇關(guān)于Go項(xiàng)目在linux服務(wù)器的部署詳細(xì)步驟的文章就介紹到這了,更多相關(guān)Go在linux服務(wù)器的部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
GoZero實(shí)現(xiàn)數(shù)據(jù)庫MySQL單例模式連接的簡(jiǎn)單示例
在 GoZero 框架中實(shí)現(xiàn)數(shù)據(jù)庫的單例連接可以通過以下步驟來完成,GoZero 使用 gorm 作為默認(rèn)的數(shù)據(jù)庫操作框架,接下來我會(huì)展示一個(gè)簡(jiǎn)單的單例模式實(shí)現(xiàn),需要的朋友可以參考下2025-02-02
解決Golang json序列化字符串時(shí)多了\的情況
這篇文章主要介紹了解決Golang json序列化字符串時(shí)多了\的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-12-12
Golang使用channel實(shí)現(xiàn)數(shù)據(jù)匯總的方法詳解
這篇文章主要為大家詳細(xì)介紹了在并發(fā)編程中數(shù)據(jù)匯總的問題,并探討了在并發(fā)環(huán)境下使用互斥鎖和通道兩種方式來保證數(shù)據(jù)安全性的方法,需要的可以參考一下2023-05-05
golang使用json格式實(shí)現(xiàn)增刪查改的實(shí)現(xiàn)示例
這篇文章主要介紹了golang使用json格式實(shí)現(xiàn)增刪查改的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
詳解Golang實(shí)現(xiàn)http重定向https的方式
這篇文章主要介紹了詳解Golang實(shí)現(xiàn)http重定向https的方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08
golang中按照結(jié)構(gòu)體的某個(gè)字段排序?qū)嵗a
在任何編程語言中,關(guān)乎到數(shù)據(jù)的排序都會(huì)有對(duì)應(yīng)的策略,下面這篇文章主要給大家介紹了關(guān)于golang中按照結(jié)構(gòu)體的某個(gè)字段排序的相關(guān)資料,需要的朋友可以參考下2022-05-05

