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 分钟前
堡垒机jumpserver
运维·sql
开开心心就好2 分钟前
开源免费高速看图工具,支持漫画大图秒开
linux·运维·服务器·安全·ruby·symfony·1024程序员节
D11_2 分钟前
[特殊字符]️ 5379工具箱 - 全部网站链接汇总
服务器·百度·阿里云·typescript·编辑器
花间相见3 分钟前
【AI开发】—— Ubuntu系统使用nvm管理Node.js多版本,版本切换一键搞定(实操完整版)
linux·ubuntu·node.js
PPPPPaPeR.10 分钟前
从零实现一个简易 Shell:理解 Linux 进程与命令执行
linux·开发语言·c++
Byte不洛32 分钟前
Linux 多线程:生产者消费者模型、阻塞队列与条件变量详解
linux·多线程·并发编程·pthread·生产者消费者模型
小Pawn爷34 分钟前
13.virtualbox安装ubuntu
linux·运维·ubuntu
乾元42 分钟前
暗网情报:自动化采集与情感分析在威胁狩猎中的应用
运维·网络·人工智能·深度学习·安全·架构·自动化
VekiSon44 分钟前
Linux内核驱动——Ubuntu 网络启动环境配置与操作
linux·arm开发·嵌入式硬件·ubuntu
YYYing.1 小时前
【Linux/C++进阶篇(二) 】超详解自动化构建 —— 日常开发中的“脚本” :Makefile/CMake
linux·c++·经验分享·ubuntu