Linux下Nodejs应用service配置

Linux 的 service 命令用于对系统服务进行管理,比如启动(start)、停止(stop)、重启(restart)、查看状态(status)等。service 命令本身是一个 shell 脚本,它在 /etc/init.d/ 目录查找指定的服务脚本,然后调用该服务脚本来完成任务。

下面以基于 Nodejs 开发的名称为 data-inspector 的应用为例,说明 Linux service 的配置。

第一步:在 /frin/DataInspector 下创建指向 node 命令的软链接1 data-inspector,执行 ll 命令查看该文件的信息如下:

复制代码
lrwxrwxrwx  1 root root     21 12月 30 15:42 data-inspector -> /usr/bin/node

这样做的目的是为自己的应用进程起一个不同的名字。

第二步:在 /etc/init.d/ 下创建文件 data-inspector,设置权限为 755,内容如下:

复制代码
#!/bin/sh
#
# data-inspector
#
# description: data-inspector
# processname: data-inspector

case "$1" in
  start)
    echo "Starting data-inspector"
    cd /frin/DataInspector
    rm -f data-inspector.log
    nohup ./data-inspector ./bin/www > data-inspector.log 2>&1 &
    sleep 1s
    echo "started data-inspector"
    ;;
  stop)
    PID=`pidof data-inspector`
    echo "Stopping data-inspector"
    if [ ! -z "$PID" ]; then
      kill -9 $PID
    fi
    echo "stoped data-inspector"
    ;;
  restart)
    $0 stop
    $0 start
  ;;
*)
   echo "Usage: service data-inspector {start|stop|restart}"
esac

exit 0

注意,如果 node /usr/bin 或 /usr/sbin 下,服务会因为找不到 node 命令失败。可以在 /usr/bin 下创建 node 的软链接。

完成之后执行以下命令可以对服务进行启动、停止、重启:

复制代码
$service data-inspector start
$service data-inspector stop
$service data-inspector restart
相关推荐
轻蓝雨2 分钟前
树莓派4B安装ubuntu server后再访问GPIO
linux·运维·ubuntu
宇宙帅猴9 分钟前
Ubuntu网络问题解决方案
linux·网络·ubuntu
栈低来信18 分钟前
klist链表
linux·数据结构·链表
一个平凡而乐于分享的小比特19 分钟前
Linux动态库与静态库技术详解
linux·动态库·静态库
XiaoHu020720 分钟前
Linux网络编程(第三弹)
linux·运维·网络
袁袁袁袁满26 分钟前
Docker服务彻底清空的所有相关资源(容器、镜像、网络、数据卷等)
linux·运维·ubuntu·docker·容器·docker清空资源·docker停掉资源
什么都不会的Tristan29 分钟前
微服务保护
运维·微服务·架构
Run_Teenage32 分钟前
Linux:匿名管道(实现个进程池)和命名管道
linux·运维·服务器
warton8832 分钟前
proxysql配置mysql mgr代理,实现读写分离
linux·运维·数据库·mysql
skywalk816332 分钟前
Ubuntu22.04安装docker并启动 dnote服务
linux·ubuntu·docker·dnote