在CentOS上搭建Golang服務器的步驟如下:
首先,你需要在CentOS上安裝Golang。你可以從Golang官方網站下載適合你系統的安裝包。
CentOS 7及以上版本可以使用yum包管理器來安裝Golang:
sudo yum install golang
如果你需要特定版本的Golang,或者yum倉庫中沒有合適的版本,你可以手動安裝:
wget https://golang.org/dl/go1.17.6.linux-amd64.tar.gz
/usr/local
目錄:sudo tar -C /usr/local -xzf go1.17.6.linux-amd64.tar.gz
編輯~/.bash_profile
或~/.bashrc
文件,添加以下內容:
export PATH=$PATH:/usr/local/go/bin
然后使配置生效:
source ~/.bash_profile # 或者 source ~/.bashrc
go version
創建一個新的目錄來存放你的Golang項目,并進入該目錄:
mkdir my-golang-server
cd my-golang-server
創建一個簡單的HTTP服務器作為示例:
package main
import (
"fmt"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, World!")
})
fmt.Println("Starting server at port 8080")
if err := http.ListenAndServe(":8080", nil); err != nil {
fmt.Println(err)
}
}
將上述代碼保存為main.go
。
在項目目錄下編譯并運行你的Golang服務器:
go build -o my-server main.go
./my-server
打開瀏覽器,訪問http://your_server_ip:8080
,你應該能看到“Hello, World!”的響應。
如果你需要從外部訪問你的服務器,確保防火墻允許HTTP流量(端口80)和HTTPS流量(端口443):
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
為了方便管理Golang服務器,你可以創建一個systemd服務文件:
sudo nano /etc/systemd/system/my-golang-server.service
[Unit]
Description=My Golang Server
After=network.target
[Service]
ExecStart=/path/to/your/my-server
Restart=always
User=your_username
Group=your_groupname
Environment=PATH=/usr/local/go/bin:$PATH
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start my-golang-server
sudo systemctl enable my-golang-server
現在,你的Golang服務器應該已經成功搭建并運行在CentOS上。