Как мне запустить node.js приложение в качестве фоновой службы в Alpine Linux?

#node.js #service #alpine

Вопрос:

Когда я использовал ubuntu, был такой файл

 [Unit]
Description=Node.js Web Http Server

[Service]
PIDFile=/tmp/myserver-99.pid
User=user
Group=sudo
Restart=always
KillSignal=SIGQUIT
WorkingDirectory=/home/user/
ExecStart=/home/user/server.js

[Install]
WantedBy=multi-user.target
 

Затем он был добавлен в автозапуск с помощью команды

 sudo systemctl enable myserver.service
 

Но теперь было решено использовать Alpine Linux, и там используется система инициализации OpenRC.

Необходимо переписать файл запуска скрипта в качестве фоновой службы в Alpine Linux.

Нашел статью, в которой объясняется, как запускать или останавливать фоновые службы в Alpine Linux:

https://www.cyberciti.biz/faq/how-to-enable-and-start-services-on-alpine-linux/

Комментарии:

1. Вы пробовали докер ? Существуют альпийские сборки для node.js. узел докера

2. Я не использую docker Alpine Linux, используемый в качестве настольной системы

Ответ №1:

Мой новый файл «мой сервер», который работает на openrc

 #!/sbin/openrc-run
command="node /home/user/server.js"
pidfile="/run/${RC_SVCNAME}.pid"
command_args="-p ${pidfile}"
name="my-server"
description="my-server"
 

А затем введите команду

 rc-update add my-server
 

Комментарии:

1. Пожалуйста, не публикуйте только код в качестве ответа, но также предоставьте объяснение того, что делает ваш код и как он решает проблему вопроса. Ответы с объяснением, как правило, более полезны и более качественны, и с большей вероятностью привлекут внимание.