【问题标题】:centos+nodejs+forever(startstop)centos+nodejs+forever(startstop)
【发布时间】:2012-06-27 20:13:28
【问题描述】:

美好的一天,我在永远启动\停止脚本方面遇到了一些问题。

CentOS 6.2
内核 2.6.32-220.el6.x86_64
nodejs v0.6.19
npm v 1.1.24
永远@0.9.2

我创建了 nologin 用户来运行我的脚本

/etc/passwd
节点:x:501:501::/usr/sbin/nologin:/bin/bash:/usr/local/bin/node:/usr/local/bin/forever:/usr/local/bin:/usr/local /lib/node_modules/forever/bin

我创建脚本并命名为 hello2.js

  #!/bin/bash
echo "aight" 

并尝试运行

  [max@localhost Desktop]$ forever start hello2.js
    info: Forever processing file: hello2.js
    [max@localhost Desktop]$ forever list
    info: Forever processes running
    data: uid command script forever pid logfile uptime
    data: [0] n4EB node hello2.js 2675 2728 /home/max/.forever/n4EB.log 0:0:0:0.130

一切都好。接下来我为 hello2.js 创建启停脚本并将其命名为 node

============================

#!/bin/bash

#proccessname: node

USER=node
PWD=node
node=node
forever=forever

start() {

         forever start -l forever.log -o out.log -e err.log /home/max/Desktop/hello2.js

            }

stop(){

      /usr/local/bin/forever stopall
     }

  restart() {
   stop
   start
    }
    status(){
    /usr/local/bin/forever list
    }

    #see how we were called
    case "$1" in
    start)
    start
    ;;
    stop)
    stop
    ;;
    restart)
    stop
    start
    ;;
    status)
    status
    ;;
    *)
    echo $ "usage $0 {start | stop | status | restart}"
    exit 1
    esac
    exit 0

========================================= 使其可执行。

接下来我想看看它是如何工作的

[max@localhost Desktop]$ ./node
$ usage ./node {start | stop | status | restart}

[max@localhost Desktop]$ ./node start
info: Forever processing file: /home/max/Desktop/hello2.js

[max@localhost Desktop]$ ./node status
**info: No forever processes running**

但是

[max@localhost Desktop]$ forever start hello2.js
info: Forever processing file: hello2.js
[max@localhost Desktop]$ forever list
info: Forever processes running
data: uid command script forever pid logfile uptime
data: [0] n4EB node hello2.js 2675 2728 /home/max/.forever/n4EB.log 0:0:0:0.130
[max@localhost Desktop]$

我的错误在哪里?

【问题讨论】:

  • 您在使用您的初始化脚本启动后尝试ps ax | grep -Ei "node|forever" 吗?
  • 您可以使用upstart(我相信CentOS 支持)查看我的解决方案:stackoverflow.com/q/11084279/813718。它可能会使整个过程变得更容易,并使您能够使用仅在 Node 中使用 forever 时可用的其他功能。
  • [max@localhost 桌面]$ ps ax | grep -Ei "node|forever" 2675 ? Ss 28:23 node /usr/local/bin/forever start hello2.js 11222 pts/0 S+ 0:00 grep -Ei node|forever 30613 ? S 0:03 gedit /home/max/Desktop/node
  • 您的开始是否有可能使用不同的永久二进制文件?状态和停止使用完整路径,而您的开始不使用。

标签: bash node.js centos forever


【解决方案1】:

试试

nohup forever start -l forever.log -o out.log -e err.log /home/max/Desktop/hello2.js &

【讨论】:

    猜你喜欢
    • 2013-02-20
    • 2014-05-25
    • 2014-09-15
    • 1970-01-01
    • 2016-01-12
    • 2013-03-16
    • 2021-10-23
    • 2012-12-24
    • 1970-01-01
    相关资源
    最近更新 更多