zoukankan      html  css  js  c++  java
  • 使用forever运行nodejs应用

    1. 使用forever运行nodejs应用  
    2. 何为forever  
    3.   
    4. forever可以看做是一个nodejs的守护进程,能够启动,停止,重启我们的app应用。  
    5.   
    6. 官方的说明是说:  
    7.   
    8. A simple CLI tool for ensuring that a given script runs continuously (i.e. forever).  
    9. // 一个用来持续(或者说永远)运行一个给定脚本的简单的命令行工具  
    10.   
    11. Github地址:https://github.com/nodejitsu/forever  
    12. 用途  
    13.   
    14. forever的用途就是帮我们更好的管理我们node App服务,本质上就是在forever进程之下,创建一个node app的子进程。  
    15.   
    16. 比如,你有一个基于express的或者其他的一些个应用那么,它将会很方便你更新和操作你的服务,并且保证你服务能持续运行。  
    17.   
    18. 更好的一点就是每次更改文件,它都可以帮你自动重启服务而不需要手动重启。  
    19. 安装forever  
    20.   
    21. // 记得加-g,forever要求安装到全局环境下  
    22. sudo npm install forever -g  
    23.   
    24. forever使用说明  
    25. 启动相关  
    26.   
    27. // 1. 简单的启动  
    28. forever start app.js  
    29.   
    30. // 2. 指定forever信息输出文件,当然,默认它会放到~/.forever/forever.log  
    31. forever start -l forever.log app.js  
    32.   
    33. // 3. 指定app.js中的日志信息和错误日志输出文件,  
    34. //  -o 就是console.log输出的信息,-e 就是console.error输出的信息  
    35. forever start -o out.log -e err.log app.js  
    36.   
    37. // 4. 追加日志,forever默认是不能覆盖上次的启动日志,  
    38. //  所以如果第二次启动不加-a,则会不让运行  
    39. forever start -l forever.log -a app.js  
    40.   
    41. // 5. 监听当前文件夹下的所有文件改动  
    42. forever start -w app.js  
    43.   
    44. 文件改动监听并自动重启  
    45.   
    46. // 1. 监听当前文件夹下的所有文件改动(不太建议这样)  
    47. forever start -w app.js  
    48.   
    49. 显示所有运行的服务  
    50.   
    51. forever list  
    52.   
    53. 停止操作  
    54.   
    55. // 1. 停止所有运行的node App  
    56. forever stopall  
    57.   
    58. // 2. 停止其中一个node App  
    59. forever stop app.js  
    60. // 当然还可以这样  
    61. // forever list 找到对应的id,然后:  
    62. forever stop [id]  
    63.   
    64. 重启操作  
    65.   
    66. 重启操作跟停止操作保持一致。  
    67.   
    68. // 1. 启动所有  
    69. forever restartall  
    70.   
    71. 更多一些  
    72.   
    73. 上面的一些解释足够平常使用,还有待之后继续补充。  
    74. 开发和线上建议配置  
    75.   
    76. // 开发环境下  
    77. NODE_ENV=development forever start -l forever.log -e err.log -a app.js  
    78. // 线上环境下  
    79. NODE_ENV=production forever start -l ~/.forever/forever.log -e ~/.forever/err.log -w -a app.js  
    80.   
    81. 上面加上NODE_ENV为了让app.js辨认当前是什么环境用的。不加它可能就不知道哦?  
    82. 一些注意点  
    83.   
    84. 有可能你需要使用unix下的crontab(定时任务)  
    85.   
    86. 这个时候需要注意配置好环境变量。  
    87.   
    88. SHELL=/bin/sh  
    89. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin  
    90.   
    91. 后记  
    92.   
    93. 毋庸置疑,拥有了Github就拥有了世界。  
    94. 参考  
    95.   
    96.     https://github.com/nodejitsu/forever  
    97.     http://blog.nodejitsu.com/keep-a-nodejs-server-up-with-forever  
    98.     https://github.com/nodejitsu/forever/issues/116  
  • 相关阅读:
    java_oop_方法2
    POJ 3276 Face The Right Way(反转)
    POJ 3276 Face The Right Way(反转)
    POJ 2566 Bound Found(尺取法,前缀和)
    POJ 2566 Bound Found(尺取法,前缀和)
    POJ 3320 Jessica's Reading Problem(尺取法)
    POJ 3320 Jessica's Reading Problem(尺取法)
    POJ 3061 Subsequence(尺取法)
    POJ 3061 Subsequence(尺取法)
    HDU 1222 Wolf and Rabbit(欧几里得)
  • 原文地址:https://www.cnblogs.com/jayruan/p/7966921.html
Copyright © 2011-2022 走看看