golang 写的 Web 服务,大家是如何部署的?

2019-11-02 14:17:36 +08:00
 fox0001
这周初学 golang,写了个小小的 Web 服务,用来给其他朋友更新二级域名与 IP 绑定。在 Debian 上,跑是能跑起来,但是没找到比较好的部署方式。就想请教大家一般是怎么部署的?
8415 次点击
所在节点    Go 编程语言
30 条回复
Leigg
2019-11-02 14:21:27 +08:00
你把和其他的 web 应用看作一样不就行了,需要负载均衡高并发就加个 nginx,小服务就裸奔完事。
fox0001
2019-11-02 14:26:36 +08:00
@Leigg #1 我是想做成服务,可以 start、stop、restart,还会崩溃后自动重启的那种
ke1e
2019-11-02 14:27:31 +08:00
docker 化
yumumu
2019-11-02 14:28:56 +08:00
@fox0001 supervisor 似乎可以
fox0001
2019-11-02 14:35:44 +08:00
@yumumu #4 找过资料,有说过用这个的。但这个是为了抛弃 Python3 而用 go 写的小功能,用 supervisor 的话,又要装上 Python3 了…
fox0001
2019-11-02 14:36:32 +08:00
@ke1e #3 小功能就没必要上 docker 了
fox0001
2019-11-02 14:37:15 +08:00
@ke1e #3 我的应用场景,用 screen 可代替 docker
lance86
2019-11-02 14:38:04 +08:00
@fox0001 什么版本的 Debian,用系统自带的进程管理 systemd 就能满足你,不过你要是换操作系统什么的可能默认的进程管理就不是 systemd 了,你还要重新折腾。楼上说的 supervisor 也不错,python 写的工具,倒是可以做到不同系统统一的配置管理模式,额外附送一个 web 端页面。
lance86
2019-11-02 14:40:41 +08:00
@fox0001 不用额外装 python 3,supervisor 支持 python2,这只是一个进程管理工具,和你用什么语言开发没关系,你 apt install 就直接装了,还不用操心 supervisor 的开机自启。
fox0001
2019-11-02 14:43:14 +08:00
@lance86 #8 非常感谢!系统是 Debian9。本来一开始用 init 那套东西的,但是脚本没写好。我去了解一下 systemd
lxml
2019-11-02 14:48:38 +08:00
stop 接收处理 signal 信号即可,star 就直接跑
creating2000
2019-11-02 14:53:19 +08:00
k8s,docker 太重,supervisor 用着不理想,systemd 好像不通用吧,pm2 还得装 node,nohup 太简陋,我也不知道应该用哪个😂
loading
2019-11-02 14:54:14 +08:00
加到开机启动 systemd,然后重启,doge.
rimutuyuan
2019-11-02 15:04:56 +08:00
nohup ./
seers
2019-11-02 15:06:00 +08:00
screen
zjsxwc
2019-11-02 15:07:19 +08:00
直接编译后运行呗,
要进程保活,可以用这个 golang 写的 supervisord
https://github.com/ochinchina/supervisord
darknoll
2019-11-02 15:18:52 +08:00
systemd 满足不了你?
abcbuzhiming
2019-11-02 15:19:31 +08:00
golang 生成的程序就一个文件,还需要 docker ?直接丢到目标机器上部署呗,golang 程序变成 linux service 我记得有教程的
p1gd0g
2019-11-02 15:23:08 +08:00
我司是打包环境打包后交给运维,运维脚本部署。
服务挂掉自动重启可以用 zabbix。
zjyl1994
2019-11-02 15:39:55 +08:00
systemd 写一套 service 文件应该够用了?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/615555

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX