商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Linux系统中Golang如何部署Web服务

Linux系统中Golang如何部署Web服务

  发布于2026-07-13 阅读(0)

扫一扫,手机访问

在 Linux 系统上部署 Go 语言写的 Web 服务,说起来其实就几个关键步骤,从本地写代码到服务器上跑起来,再到用 Systemd 把它变成开机自启的守护进程。下面直接上干货,手把手走一遍。

Linux系统中Golang如何部署Web服务

1. 编写和测试你的 Go Web 服务

在动手之前,先确保本地能跑起来。一个最简单的 HTTP 服务器长这样:

package mainimport ("fmt""net/http")func main() {http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {fmt.Fprintf(w, "Hello, World!")})fmt.Println("Server is running on port 8080")http.ListenAndServe(":8080", nil)}

2. 构建你的 Go 应用程序

在项目目录里跑一条命令就能编译出可执行文件:

go build -o myapp

生成一个叫 myapp 的二进制文件,注意这文件是静态链接的,扔到目标服务器上直接就能跑,省心。

3. 将可执行文件上传到 Linux 服务器

scprsync 把文件传上去。举个例子:

scp myapp user@your-server:/path/to/deploy

路径随你定,后面 Systemd 配置里保持一致就行。

4. 在 Linux 服务器上运行你的应用程序

登录服务器,切到刚才的目录,直接运行试试:

cd /path/to/deploy./myapp

终端会输出一行“Server is running on port 8080”,这说明程序能正常启动。不过这样跑的话,关闭终端程序就停了,所以下一步才是重点。

5. 使用 Systemd 管理你的服务

系统服务化之后,既能开机自启,又能崩溃自动重启。创建一个 Systemd 服务单元文件:

sudo nano /etc/systemd/system/myapp.service

填入以下内容:

[Unit]Description=My Go Web ServiceAfter=network.target[Service]ExecStart=/path/to/deploy/myappRestart=alwaysUser=your-userGroup=your-groupEnvironment=PORT=8080[Install]WantedBy=multi-user.target

注意把 ExecStart 路径改成你实际的位置,UserGroup 也换成服务器上的用户。

6. 启动和启用你的服务

先让 Systemd 重新加载配置:

sudo systemctl daemon-reload

然后启动服务:

sudo systemctl start myapp

最后设置开机自启:

sudo systemctl enable myapp

7. 检查服务状态

用这条命令看一眼有没有跑起来:

sudo systemctl status myapp

输出里应该能看到 active (running) 字样,如果挂了也会显示 restarting 状态(因为我们设了 Restart=always)。

8. 配置防火墙

端口 8080 得对外放开,否则外部访问不到。用 ufw 的话很简单:

sudo ufw allow 8080

如果用 iptables 或者其他防火墙,也是同样的意思——放行这个端口。

9. 访问你的 Web 服务

打开浏览器,输入服务器 IP 加端口:

http://192.168.1.100:8080

能看到“Hello, World!”就说明部署成功了。整个流程下来,从编译到服务化,其实就这几步。后续如果有环境变量、日志轮转之类的高级需求,也可以在这个基础上继续加配置。

本文转载于:https://www.yisu.com/ask/55125017.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注