Intro
This time, I will try automatic starting-up my Go application and Nginx.
I built my Go application by "go build .".
To start-up automatically, I will add systemd service files.
Go applications
I add a service file into "/etc/systemd/system/".
webappsample.service
[Service]
Type=simple
User=root
ExecStart=/home/example/go/src/sample/webappsample/webappsample
WorkingDirectory=/home/example/go/src/sample/webappsample
Restart=always
RestartSec=30
[Install]
WantedBy = multi-user.target
After adding the file, I register it with systemd.
sudo systemctl enable webappsample.service
Nginx
Nginx service files are almost identical to Go application.
nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Top comments (0)