NVM管理的Nodejs如何做成systemd的serivce服务

目录

有很多next、nuxt、yarn的nodejs程序,都是什么npm start或者yarn develop的启动模式,如何搞成systemd的服务呢,这里面麻烦的就是systemd的服务需要使用全路径。

那方法如下:

一、安装nvm
1curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash
二、安装nodejs和yarn
 1source ~/.nvm/nvm.sh
 2
 3nvm ls-remote
 4
 5nvm install v20.19.5
 6
 7node -v
 8
 9npm install -g yarn
10
11npm list -g
三、弄strapi.service服务
 1echo $NVM_DIR     # 确定 nvm 的安装目录
 2/root/.nvm
 3
 4which node        # 确定 Node.js 的路径
 5/root/.nvm/versions/node/v20.19.5/bin/node
 6
 7which yarn        # 确定 Yarn 的路径
 8/root/.nvm/versions/node/v20.19.5/bin/yarn
 9
10cat < EOF > /etc/systemd/system/strapi.service 
11[Unit]
12Description=Strapi App
13After=network.target
14
15[Service]
16# 使用用户账户运行服务,替换为实际的用户名
17User=root
18Group=root
19
20# 指定工作目录,替换为项目的实际路径
21WorkingDirectory=/data/strapi
22
23# 加载 nvm 并运行 yarn 或 node
24Environment="NVM_DIR=/root/.nvm"
25ExecStart=/bin/bash -c ". $NVM_DIR/nvm.sh && yarn develop"
26
27Restart=always
28RestartSec=10
29
30[Install]
31WantedBy=multi-user.target
32EOF
33
34systemctl daemon-reload
35
36systemctl enable --now strapi

OPNsense如何做LoadBalance接入后端的Kubernetes Nginx Ingress --- Nginx篇
comments powered by Disqus