首页 nodejs linux:CentOS/Ubuntu 以Systemd Service方式启动Node应用

linux:CentOS/Ubuntu 以Systemd Service方式启动Node应用

建议加上环境变量与工作目录免得出现某些模块路径问题

实操中出现的问题

最近在新学nodejs与vue开发网站,部署到服务器后,使用命令行启动成功.为了方便管理,使用Systemd Service方式启动Node应用,因为项目中使用了config模块设置了开发环境与生产环境,出现了找不到config文件目录与环境取值混乱问题.网上搜索了很多相关信息才知晓需要加上环境变量与工作目录解决问题.

实操相关软件及版本

  1. 服务器:Ubuntu 2204

1.创建Service文件与配置


$: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

2.保存启动


$:sudo systemctl start node //启动node应用

3.查看状态或运行日志


$:sudo systemctl status node //运行状态
$sudo journalctl -u node   //查看日志
$sudo journalctl --follow -u node   //输出最新日志

4.重启服务和停止服务


$:sudo systemctl restart node //重启应用
$:sudo systemctl stop node //停止应用

5.设置应用开机启动


$:sudo systemctl enable node
关注本站微信公众号