在Linux上利用forever实现Node.js项目自启动_Ubuntu_青云站长教程网
欢迎来到站长教程网!
  • 秒到短信接口 免费试用
  • 微信支付宝接口 秒结算
  • 中文网站排名|申请加入
  • 搜索引擎全站查询
  • 查询移动网站权重数据
  • 海外主机 台湾公司直销
  • Ubuntu

    当前位置:主页 > 服务器教程 > Ubuntu >

    在Linux上利用forever实现Node.js项目自启动

    时间:2019-10-09|栏目:Ubuntu|点击:
  • 在一台计算机上手动跑Node项目简单,node xx.js就搞定了,想让Node项目后台运行,虽然不能直接用node命令搞定,但是在安装了forever这个包以后,还是很轻松的。不过要是在远程服务器上构建Node项目,如果没法自启动,一旦服务器重启,那么项目必须通过管理员远程手动开启才可以运行。

    那么能否利用forever加启动脚本方式解决上述问题呢?答案当然是肯定的,只不过有点麻烦,而且forever官方缺少详细的配置文档。我在配置的时候也走了一些弯路,下面详细来说。

    注:本文的实验环境是Ubuntu Server 12.04 LTS x86_64,在CentOS上的配置更简单一些

    最早,我想着试试在/etc/rc.local中增加一句forever start xxx看看,结果发现Ubuntu(其他系统一样)就不鸟我,主要矛盾就是mongodb使用这种方式就可以跑起来,forever就不行,无奈之下,还是从/etc/init.d的角度去考虑吧。

    相关阅读

    Ubunru 12.04 下Node.js开发环境的安装配置

    Node.Js入门[PDF+相关代码]

    Node.js入门开发指南中文版

    Node.js安装与配置

    Ubuntu 编译安装Node.js

    前提是要先把forever好,方法很简单,执行如下命令就好:

    npm install forever -g

    安装完成后,用一个简单的Node程序测试一下:

    forever start test.js
    forever stop test.js
    forever restart test.js

    只要不提示error,就表明forever是可以用的,也就是说用forever来后台开启一个Node项目的基本条件已经具备,剩下的就是来编写一个启动脚本了。
     
    脚本的基本内容如下

    #!/bin/bash
    ### BEGIN INIT INFO
    # Provides:          xiyoulib
    # Required-Start:    $all
    # Required-Stop:     $all
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: Start daemon at boot time
    # Description:       Enable service provided by daemon.
    ### END INIT INFO
    # chkconfig: 345 88 08
    # description: Forever for Node.js

    DEAMON=/node.js/XiyouLibNodeExpress/bin/www  #这里需要填写你自己的Node项目的启动脚本文件
    LOG=/node.js/log/log  #可选,日志文件目录
    PID=/node.js/pid  #必填内容,用于记录forever的进程号

    export PATH=$PATH:/usr/local/bin  #在这里指定一下Node的可执行程序安装目录,我的是/usr/local/bin
    export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules  #这里是Node类库的路径

    #往下的内容就不用修改了

    node=node
    forever=forever

    case "$1" in
        start)
            $forever start -l $LOG --pidFile $PID -a $DEAMON
            ;;
        stop)
            $forever stop --pidFile $PID $DEAMON
            ;;
        stopall)
            $forever stopall --pidFile $PID
            ;;
        restartall)
            $forever restartall --pidFile $PID
            ;;
        reload|restart)
            $forever restart -l $LOG --pidFile $PID -a $DEAMON
            ;;
        list)
            $forever list
            ;;
        *)
            echo "Usage: /etc.init.d/node {start|stop|restart|reload|stopall|restartall|list}"
            exit 1
            ;;
    esac

    在这里提醒一下:最好为Node项目单独在根目录下建立一个目录,如/node.js,然后权限设为754,这样可以避免一些权限问题而造成的麻烦!

    上一篇:SHELL中创建临时文件的方法

    栏    目:Ubuntu

    下一篇:利用Node.js实现模拟Session验证的登陆

    本文标题:在Linux上利用forever实现Node.js项目自启动

    本文地址:http://www.jh-floor.com/fuwuqijiaocheng/Ubuntu/86242.html

    广告投放 | 联系我们 | 版权申明

    重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

    Copyright © 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号