在CentOS上配置Golang Web服務器的步驟如下:
首先,你需要在CentOS上安裝Golang。你可以從Golang官方網站下載適用于Linux的安裝包。
sudo yum install golang
wget https://golang.org/dl/go1.17.6.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.17.6.linux-amd64.tar.gz
編輯/etc/profile.d/golang.sh
文件,添加以下內容:
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
然后使配置生效:
source /etc/profile.d/golang.sh
在你的工作目錄下創建一個新的Go項目:
mkdir mywebserver
cd mywebserver
創建一個簡單的Go Web服務器:
// main.go
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)
}
}
在項目目錄下運行以下命令啟動Web服務器:
go run main.go
打開瀏覽器,訪問http://your_server_ip:8080
,你應該會看到"Hello, World!"的消息。
為了確保外部可以訪問你的Web服務器,你需要配置CentOS的防火墻。
sudo systemctl start firewalld
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
為了更方便地管理你的Web服務器,你可以創建一個systemd服務。
sudo nano /etc/systemd/system/mywebserver.service
[Unit]
Description=My Go Web Server
After=network.target
[Service]
User=your_username
Group=your_groupname
ExecStart=/usr/local/go/bin/go run /path/to/your/project/main.go
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start mywebserver
sudo systemctl enable mywebserver
現在,你的Golang Web服務器應該在CentOS上運行,并且可以通過瀏覽器訪問。