service define

rongapp.service

[Unit]
Description=rong Hello World HTTP
Requires=network.target rongapp.socket
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/rong
[Install]
WantedBy=multi-user.target

socket define

[Socket]
ListenStream=8076
Accept=yes 
[Install]
WantedBy=sockets.target

main.go

package main
import (
 "io"
 "net/http"
 "github.com/coreos/go-systemd/activation"
)
func HelloServer(w http.ResponseWriter, req *http.Request) {
 io.WriteString(w, "hello socket activated world!\n")
}
func main() {
 listeners, err := activation.Listeners()
 if err != nil {
  panic(err)
 }
 if len(listeners) != 1 {
  panic("Unexpected number of socket activation fds")
 }
 http.HandleFunc("/", HelloServer)
 http.Serve(listeners[0], nil)
}

go mod

go mod init  github.com/rongfengliang/appdemo
gp  get github.com/coreos/go-systemd/activation

start service

  • copy define files
location  /usr/lib/systemd/system/
  • start socket
systemctl start rongapp.socket
systemctl start rongapp.service
systemctl  enable rongapp.socket
systemctl  enable rongapp.service

test

curl http://127.0.0.1:8076

some links

https://github.com/coreos/go-systemd/tree/master/examples/activation/httpserver

最新文章

  1. datagridview 单元格格式转换注意
  2. [转]Java线程安全总结
  3. weixin 公众平台开发
  4. Io 异常: The Network Adapter could not establish the connection 解决方法
  5. 9.9---n皇后问题(CC150)
  6. 使用Maven编译项目遇到——“maven编码gbk的不可映射字符”解决办法 ——转载
  7. 提取图像(tif)中水体的矢量数据(shp)研究
  8. Binder机制,从Java到C (4. Parcel)
  9. 201521123098 JAVA课程设计
  10. spring boot高性能实现二维码扫码登录(中)——Redis版
  11. Zigbee技术开发一 设置NV_RESTORE
  12. Linux内核入门到放弃-Ext2数据结构-《深入Linux内核架构》笔记
  13. Sklearn中二分类问题的交叉熵计算
  14. 哪个 Linux 内核版本号是 “稳定的”? | Linux 中国
  15. Intersect交集Except差集Union并集实例
  16. 使用jquery刷新当前页面、刷新父级页面
  17. memcached 一致性hash原理
  18. 邮件的DNS设置
  19. JavaScript 之arguments、caller 和 callee 介绍
  20. APScheduler 浅析

热门文章

  1. 『正睿OI 2019SC Day7』
  2. MVC+Ninject+三层架构+代码生成 -- 总结(一、數據庫)
  3. EasyUI datagrid-export 将datagrid的数据导出至Excel-解决科学计数法
  4. SQL server中常用sql语句
  5. gitblit服务器:用户、团队、权限管理
  6. Matplotlib中figure、subplot、axes、axis的区别
  7. 树莓派Raspbian系统密码
  8. React 的setState 理解
  9. vue打包后页面显示空白但是不报错
  10. MES应用案例|新宏泰电器乘上智能制造的东风