在CentOS環境下部署Go語言應用通常包括以下幾個步驟:
首先,需要在服務器上安裝Go環境??梢詮腉o官方網站下載適合自己系統版本的Go并進行安裝。例如,下載Go 1.18版本:
wget https://golang.google.cn/dl/go1.18.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.18.linux-amd64.tar.gz
安裝完成后,需要配置系統環境變量,以便在全局使用Go??梢孕略?/etc/profile.d/go.sh
文件,將以下內容寫入:
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
然后執行以下命令使更改生效:
source /etc/profile.d/go.sh
驗證安裝是否成功,可以輸入:
go version
如果輸出了Go的版本信息,說明安裝成功。
使用 go build
命令對應用程序進行編譯。例如,編譯一個名為 main.go
的程序:
go build main.go
為了系統服務的管理,可以使用systemd將Go程序注冊為一個服務,然后實現開機自啟動。
在 /etc/systemd/system/
目錄下,新建一個名為 myapp.service
的服務文件,填入以下內容:
[Unit]
Description=My Go Application
After=syslog.target
[Service]
Type=simple
User=root
WorkingDirectory=/root/myapp
ExecStart=/root/myapp/myapp
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.target
執行以下命令加載服務文件并啟動服務:
systemctl daemon-reload
systemctl start myapp.service
systemctl status myapp.service
使用 enable
命令設置開機自啟動:
systemctl enable myapp.service
使用 nohup
命令在后臺運行應用,并將輸出重定向到日志文件:
nohup ./myapp > nohup.log 2>&1 &
可以使用 netstat
命令查找指定端口的進程:
netstat -tunlp | grep 9001
在生產環境中,建議使用更溫和的方式來重啟服務,而不是使用 kill -9
。
以上步驟涵蓋了在CentOS環境下從安裝Go環境到部署應用的完整流程。通過這些步驟,你可以確保Go項目在CentOS服務器上穩定運行,并能夠優雅地處理進程和配置更新。