今天没有面试,闲来无事,就想继续折腾一下go了,翻了翻小伙伴给的几个不错的例子,顺手部署一下玩玩。
第一个是一个社区,很简洁,我很喜欢,github:https://github.com/gogf/focus
如何部署就不赘述了,github都有的。
要说Go是真的好,直接编译跨平台,之前和小伙伴写的小脚本也是支持跨平台编译的,没想到web服务也可以。
我是centos系统,编译好直接把文件放到我自己服务目录下,然后写一个简单的service文件即可。
[Unit]
Description=focus service
After=network.target
[Service]
ExecStart=/var/runServer/focus/focus start
ExecStop=/usr/bin/echo 'not stop'
KillMode=process
Restart=on-failure
RestartSec=120s
[Install]
WantedBy=multi-user.target
ExecStart 是启动命令 ExecStop 是停止,下面ResartSec是守护时间 120秒
只需要把你的二进制文件地址填入 就可以使用。
文件保存到:/usr/lib/systemd/system/focus.service 文件名根据自己的服务名修改
chmox +x /usr/lib/systemd/system/focus.service 给一下执行权限
systemctl daemon-reload 重载一下服务文件
systemctl start focus 启动自己的服务 即可。
题外话:
其实还发生了一件有趣的事,就是这个项目引用了gmode模块,里面写了如果是开发者模式运行 直接把配置和数据库里的数据都dump出来,给我一顿找呀,最终才发现这个,至于怎么从开发模式到生产模式,我是没莫明白,改天看一下源码吧,看看判断依据是什么再来解决。
文章评论