部署node服务器到产品环境

pm2

PM2 是 Node.js 应用程序的生产进程管理器,具有内置的负载均衡器。PM2 可以使应用程序保持持久运行,无需宕机即可重新装入,并可以简化常见的系统管理任务。PM2 还使您可以管理应用程序记录、监控和集群。
官方文档

安装 PM2

$ npm install pm2 -g

启动

$ pm2 start app.js

最优实践

$ pm2 start api.js -i max --env production
  • 打开负载均衡
$ pm2 start api.js -i   

可以是 max / -1 (所有cpu减 1) 或者指定cup的数量

  • 文件配置
$ pm2 init // 生成配置文件
$ pm2 start app --env production // 以产品模式运行

常用命令

$ pm2 stop     
$ pm2 restart  
$ pm2 delete   

Forever

Forever 是一种简单的命令行界面工具,用于确保特定脚本持续(永久)运行。Forever 的简单界面使其成为运行 Node.js 应用程序和脚本的较小部署的理想选择。

有关更多信息,请参阅 https://github.com/foreverjs/forever。

安装


$ [sudo] npm install forever -g

基本使用

要启动脚本,请使用 forever start 命令并指定脚本的路径:

$ forever start ./bin/www  //启动exress服务器
or
$ forever start script.js  //启动特定文件

此命令(在后台)以守护程序方式运行脚本。

要运行脚本以便其附加到终端,请省略 start


$ forever script.js

使用日志记录选项 -l-o-e(如此示例中所示)记录来自 Forever 工具和脚本的输出,是很好的构想:


$ forever start -l forever.log -o out.log -e err.log script.js

要查看 Forever 启动的脚本的列表:


$ forever list

要停止由 Forever 启动的脚本,请使用 forever stop 命令并指定进程索引(如 forever list 命令所列出)。


$ forever stop 1

或者,指定文件的路径:


$ forever stop script.js

要停止 Forever 启动的所有脚本:


$ forever stopall

Forever API

  actions:
    start               Start SCRIPT as a daemon
    stop                Stop the daemon SCRIPT by Id|Uid|Pid|Index|Script
    stopall             Stop all running forever scripts
    restart             Restart the daemon SCRIPT
    restartall          Restart all running forever scripts
    list                List all running forever scripts
    config              Lists all forever user configuration
    set       Sets the specified forever config 
    clear          Clears the specified forever config 
    logs                Lists log files for all forever processes
    logs  Tails the logs for 
    columns add    Adds the specified column to the output in `forever list`
    columns rm     Removed the specified column from the output in `forever list`
    columns set   Set all columns for the output in `forever list`
    cleanlogs           [CAREFUL] Deletes all historical forever log files

你可能感兴趣的:(部署node服务器到产品环境)