建议加上环境变量与工作目录免得出现某些模块路径问题
最近在新学nodejs与vue开发网站,部署到服务器后,使用命令行启动成功.为了方便管理,使用Systemd Service方式启动Node应用,因为项目中使用了config模块设置了开发环境与生产环境,出现了找不到config文件目录与环境取值混乱问题.网上搜索了很多相关信息才知晓需要加上环境变量与工作目录解决问题.
$:sudo vim /etc/systemd/system/node.service
//写入以下配置
[Unit]
Description = node //服务的简单描述
After = syslog.target
[Service]
User = nodeone //启动服务的用户名 不建议使用root用户名,自己创建一个不授权的用户名即可
ExecStart = /usr/local/lib/nodejs/node-v18.18.0-linux-x64/bin/node /home/server/app.js //启动命令
Environment=NODE_ENV=production //设置为生产环境变量
WorkingDirectory=/home/server //服务的根目录
SuccessExitStatus = 143
[Install]
WantedBy = multi-user.target
$:sudo systemctl start node //启动node应用
$:sudo systemctl status node //运行状态
$sudo journalctl -u node //查看日志
$sudo journalctl --follow -u node //输出最新日志
$:sudo systemctl restart node //重启应用
$:sudo systemctl stop node //停止应用
$:sudo systemctl enable node