# 创建用户
> useradd noderunner
> mkdir /home/noderunner
> su noderunner
# 安装nvm和指定版本的node
noderunner> cd ~
noderunner> wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
noderunner> source .bashrc
noderunner> nvm ls-remote
noderunner> nvm install v20.13.1
noderunner> nvm install v18.20.3
noderunner> nvm install v16.20.2
noderunner> ...
noderunner> git clone ...
noderunner> nvm use v20.13.1
noderunner> npm install
noderunner> npm run build
noderunner> exit
# 配置服务
> cat /etc/systemd/system/moments.service
[Unit]
Description=Moments
After=network.target
[Service]
Type=simple
ExecStart=/home/noderunner/.nvm/versions/node/v20.13.1/bin/node ./.output/server/index.mjs
Restart=always
User=noderunner
Environment=NODE_ENV=production
Environment=NODE_VERSION=20.13.1
Environment=DATABASE_URL=file:/data/web/moments/db.sqlite
Environment=UPLOAD_DIR=/data/web/moments/upload
Environment=CONFIG_FILE=/data/web/moments/config.json
Environment=PORT=3001
WorkingDirectory=/data/web/moments
[Install]
WantedBy=multi-user.target
> systemctl daemon-reload
> systemctl start moments
> systemctl enable moments