Linux Ubuntu 添加开机启动 服务

部署golang服务

部署golang服务比部署python web服务要简单很多,运行golang程序就会自动编译出可执行文件(如果是在window下需要通过交叉编译方式编译下linux可执行文件),毕竟golang太强了。下面直接贴出go_app.service的配置文件。

[Unit]
Description=golang web application
After=syslog.target network.target
[Service]
Type=simple
WorkingDirectory=/home/centos/go_pro/
ExecStart=/home/centos/go_pro/web_service_amd64
Restart=on-failure
RestartSec=30
[Install]
WantedBy=multi-user.target

与第一个实例一样简单介绍写配置文件。


[Unit]启动顺序与依赖

Description就是个简单的服务介绍

After指的是本服务需要在某些服务启动后才能启动

[Service]启动行为

Type指的是启动类型,这个很重要,需要根据你启服务的方式决定,由于启动golang程序是在主进程中启动并执行的且不会退出,那么Type就应该是simple。

WorkingDirectory是指当前的工作目录,这里设置成你项目路径

ExecStart是启动服务所需的指令,直接执行golang编译好的二进制文件即可。

Restart是指在什么情况下重启服务,这里的on-failure是指一旦程序启动失败或被中断就进行重启。

RestartSec参数可以用来控制重启间隔时间


[Install]服务安装相关配置

WantedBy是指将该服务归于哪个服务组,在multi-user.target服务组的服务可以设置开机启动。


设置完成后我们需要将这个配置文件放到/etc/systemd/system/文件夹下(需要root权限),重载systemd

cp ./go_app.service /etc/systemd/system/
systemctl daemon-reload

接下来启动服务

systemctl start go_app.service<
>><
>>

查看服务状态

systemctl status go_app.service<
>>

关闭服务

systemctl stop go_app.service<
>>

设置服务开机自启动

systemctl enable go_app.service


© GVGNN 2013-2026