충돌 및 시스템 재부팅 시 Go 애플리케이션이 다시 시작되도록 Amazon Linux 2023이 설치된 EC2 인스턴스에서 Go 애플리케이션을 systemd 서비스로 설정하려고 합니다.
나는 다음 제안을 따랐습니다.여기:
- 다음 내용을 사용하여 /etc/systemd/system에 /home/ec2-user/mygoapp.service에 대한 심볼릭 링크를 만들었습니다.
[Unit]
Description=My app
After=network.target
[Service]
Restart=always
RestartSec=3
ExecStart=/home/ec2-user/path/to/binary
[Install]
WantedBy=multi-user.target
- 달리기
$ sudo systemctl enable mygoapp
$ sudo systemctl start mygoapp
하지만 내 응용 프로그램이 실행되지 않습니다.
또한 다음 mygoapp.service 콘텐츠를 사용해 보았습니다.
[Unit]
Description=My app
ConditionPathExists=/home/ec2-user/path/to/folder/containing/go/source/files
After=network.target
[Service]
Restart=always
RestartSec=3
WorkingDirectory=/home/ec2-user/path/to/folder/containing/go/source/files
ExecStart=/usr/local/go/bin/go run .
[Install]
WantedBy=multi-user.target
mygoapp.service를 편집한 후 다음을 실행합니다.
$ sudo systemctl daemon-reload
$ sudo systemctl stop mygoapp
$ sudo systemctl start mygoapp
하지만 그것도 작동하지 않습니다.
이 작업을 수행하는 올바른 방법은 무엇입니까?