实例 配置 go-web

最后更新于:2022-04-02 03:49:01

[TOC] ## go代码
webapp.go ``` package main import ( "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { w.Write([]byte("hello word")) }) e := http.ListenAndServe(":9080", nil) if e != nil { panic(e) } } ```

``` set goos=linux go build webapp.app ``` ## 配置 systemctl
webapp.service ``` [Unit] Description=web APP After=mysql.service [Service] Type=simple WorkingDirectory=/root/sys/ ExecStart=/root/sys/webapp Restart=on-abnormal RestartSec=5 [Install] WantedBy=multi-user.target ```

1. 把 `webapp 添加可执行权限 chmod +x webapp` 1. 创建应用配置文件`/etc/systemd/system/webapp.service`, 内容如上; 2. 使用`systemctl daemon-reload`重新加载服务; 3. 执行`systemctl start webapp`来启动服务; 4. 最后执行`systemctl status webapp`来查看服务运行的状态信息; 5. 执行`systemctl enable webapp`将服务添加到开机启动项; > 测试:是否自动重启 `kill -9 pid` 几秒后再次查看服务 `systemctl status webapp` > 注意: 使用`pkill webapp` 杀死的服务器不会自启动 > 注意: 未启动状态下`restart` 依然可以启动 > 注意:执行的`webapp`是使用文件名作为服务名;
';