golang
使用gin
開發完畢後,切不可直接執行或者使用go run ***.go
這種形式,比較正規的做法是,利用linux
的服務去管理,不然ssh
一退出,**就停止了。
簡略流程如下:
build
出乙個可執行檔案
寫乙個sh
檔案,用來執行這個檔案
配置service
啟動
其他配置(反向**、ssl
證書等)
下面具體敘述
1、build 專案
我的專案中,主檔案為main.go
執行:
go build main.go
則生成了乙個新檔案main
對其設定許可權,這裡用了777
,因為有時候使用寶塔面板
的時候,它的使用者是www
.
chmod 777 main
2、寫執行指令碼 run.sh
新建乙個檔案
vim run.sh
裡面寫這樣的內容:
#!/bin/bash
# 設定為 release 生產模式
export gin_mode=release
# 切換到路徑下,這樣才能夠使用和開發時候一樣的相對路徑
cd main檔案所在的絕對路徑
# 啟動 build 後的可執行檔案
./main
裡面路徑自行替換。
這裡有兩點需要注意的地方:
頂部的#!/bin/bash
必不可少,如果少了這個,服務會無法啟動。
使用先cd
後執行的方式,可以讓程式能夠找到相對路徑下的檔案。
3、建立乙個 service 配置檔案
輸入命令建立:
vim /lib/systemd/system/mpgo.service
其中mpgo
為服務名稱,以後啟動都是這個名稱。
裡面寫這樣的內容:
[unit]
description=mpgo
[service]
type=******
restart=always
restartsec=3s
execstart=run.s**件的完整路徑
[install]
wantedby=multi-user.target
路徑需要自行替換
說明如下:
4、啟動
啟動:
service mpgo start
重啟:
service mpgo restart
停止:
service mpgo stop
狀態:
service mpgo status
5、配置反向**和ssl證書
反向**:
新建靜態** --> 繫結網域名稱 --> **設定中的反向** --> **80
埠到golang
的埠
ssl
證書
寶塔面板中可以一鍵申請。
伺服器部署
cd 回到根目錄 cd 回到 root目錄 cd 返回上一級 cp file1 file2 複製檔案file1,生成轉殖檔案file2 cp命令詳解url find name filename foldername find命令詳解url ps ef grep nginx ps命令詳解url net...
伺服器部署
1.nginx 2 負載均衡 upstream backend 裡配置多個伺服器,當有請求的時候,根據配置的排程策略 加權輪詢 ip雜湊 最少連線數 一致性雜湊 給請求者返回相應的伺服器ip。3.訪問 時可以省略埠號 x 4.訪問相同ip的不同網域名稱 監聽伺服器的80端來分發的 到其他對應的子埠 ...
伺服器的部署
由老大指點,今天終於了解乙個伺服器,應該怎麼樣去使用,就是一台機器,上面不能安裝eclipse之類的程式設計軟體,只裝資料庫和web service tomcat 一 首先將自己做完的專案打成乙個.war的包。二 有乙個自己的伺服器,可以由外部訪問這個ip,並且保證伺服器端安裝了tmcat5.0 6...