啟動nodejs項目,node 修改文件自啟動

 2023-10-15 阅读 20 评论 0

摘要:forever vs supervisor forever https://github.com/foreverjs/forever 1、安裝 cnpm install forever -g 2、 chenhailong@chenhailongdeMacBook-Pro:~/mygithub/node_Package/koa$ forever -help help: usage: forever [action] [options] SCRIPT [script-options] help

forever vs supervisor

forever https://github.com/foreverjs/forever

1、安裝

cnpm install forever -g

2、

chenhailong@chenhailongdeMacBook-Pro:~/mygithub/node_Package/koa$ forever -help
help:    usage: forever [action] [options] SCRIPT [script-options]
help:
help:    Monitors the script specified in the current process or as a daemon
help:
help:    actions:
help:      start               Start SCRIPT as a daemon
help:      stop                Stop the daemon SCRIPT by Id|Uid|Pid|Index|Script
help:      stopall             Stop all running forever scripts
help:      restart             Restart the daemon SCRIPT
help:      restartall          Restart all running forever scripts
help:      list                List all running forever scripts
help:      config              Lists all forever user configuration
help:      set <key> <val>     Sets the specified forever config <key>
help:      clear <key>         Clears the specified forever config <key>
help:      logs                Lists log files for all forever processes
help:      logs <script|index> Tails the logs for <script|index>
help:      columns add <col>   Adds the specified column to the output in `forever list`
help:      columns rm <col>    Removed the specified column from the output in `forever list`
help:      columns set <cols>  Set all columns for the output in `forever list`
help:      columns reset       Resets all columns to defaults for the output in `forever list`
help:      cleanlogs           [CAREFUL] Deletes all historical forever log files
help:
help:    options:
help:      -m  MAX          Only run the specified script MAX times
help:      -l  LOGFILE      Logs the forever output to LOGFILE
help:      -o  OUTFILE      Logs stdout from child script to OUTFILE
help:      -e  ERRFILE      Logs stderr from child script to ERRFILE
help:      -p  PATH         Base path for all forever related files (pid files, etc.)
help:      -c  COMMAND      COMMAND to execute (defaults to node)
help:      -a, --append     Append logs
help:      -f, --fifo       Stream logs to stdout
help:      -n, --number     Number of log lines to print
help:      --pidFile        The pid file
help:      --uid            Process uid, useful as a namespace for processes (must wrap in a string)
help:                       e.g. forever start --uid "production" app.js
help:                           forever stop production
help:      --sourceDir      The source directory for which SCRIPT is relative to
help:      --workingDir     The working directory in which SCRIPT will execute
help:      --minUptime      Minimum uptime (millis) for a script to not be considered "spinning"
help:      --spinSleepTime  Time to wait (millis) between launches of a spinning script.
help:      --colors         --no-colors will disable output coloring
help:      --plain          alias of --no-colors
help:      -d, --debug      Forces forever to log debug output
help:      -v, --verbose    Turns on the verbose messages from Forever
help:      -s, --silent     Run the child script silencing stdout and stderr
help:      -w, --watch      Watch for file changes
help:      --watchDirectory Top-level directory to watch from
help:      --watchIgnore    To ignore pattern when watch is enabled (multiple option is allowed)
help:      -t, --killTree   Kills the entire child process tree on `stop`
help:      --killSignal     Support exit signal customization (default is SIGKILL)
help:                       used for restarting script gracefully e.g. --killSignal=SIGTERM
help:      -h, --help       You're staring at it
help:
help:    [Long Running Process]
help:      The forever process will continue to run outputting log messages to the console.
help:      ex. forever -o out.log -e err.log my-script.js
help:
help:    [Daemon]
help:      The forever process will run as a daemon which will make the target process start
help:      in the background. This is extremely useful for remote starting simple node.js scripts
help:      without using nohup. It is recommended to run start with -o -l, & -e.
help:      ex. forever start -l forever.log -o out.log -e err.log my-daemon.js
help:          forever stop my-daemon.js
help:

3、我發線在改node

// 改模版里面的東西刷新可以得到最新的東西,但是改node server里面的東西還是無效
const fs = require('fs.promised');
const Koa = require('koa');
const app = new Koa();const main = async function (ctx, next) {ctx.response.type = 'html';ctx.response.body = await fs.readFile('./server/template/template.html', 'utf8');
};app.use(main);
app.listen(3000);

supervisor

1、

cnpm install supervisor -g 

2、

chenhailong@chenhailongdeMacBook-Pro:~/mygithub/node_Package/koa$ supervisor -helpNode Supervisor is used to restart programs when they crash.
It can also be used to restart programs when a *.js file changes.Usage:supervisor [options] <program>supervisor [options] -- <program> [args ...]Required:<program>The program to run.Options:-w|--watch <watchItems>A comma-delimited list of folders or js files to watch for changes.When a change to a js file occurs, reload the programDefault is '.'-i|--ignore <ignoreItems>A comma-delimited list of folders to ignore for changes.No default--ignore-symlinksEnable symbolic links ignoring when looking for files to watch.-p|--poll-interval <milliseconds>How often to poll watched files for changes.Defaults to Node default.-e|--extensions <extensions>Specific file extensions to watch in addition to defaults.Used when --watch option includes foldersDefault is 'node,js'-x|--exec <executable>The executable that runs the specified program.Default is 'node'--debug[=port]Start node with --debug flag.--debug-brk[=port]Start node with --debug-brk[=port] flag.--harmonyStart node with --harmony flag.--inspectStart node with --inspect flag.--harmony_default_parametersStart node with --harmony_default_parameters flag.-n|--no-restart-on error|exitDon't automatically restart the supervised program if it ends.Supervisor will wait for a change in the source files.If "error", an exit code of 0 will still restart.If "exit", no restart regardless of exit code.If "success", no restart only if exit code is 0.-t|--non-interactiveDisable interactive capacity.With this option, supervisor won't listen to stdin.-k|--instant-killuse SIGKILL (-9) to terminate child instead of the more gentle SIGTERM.--force-watchUse fs.watch instead of fs.watchFile.This may be useful if you see a high cpu load on a windows machine.-s|--timestampLog timestamp after each run.Make it easy to tell when the task last ran.-h|--help|-?Display these usage instructions.-q|--quietSuppress DEBUG messages-V|--verboseShow extra DEBUG messagesOptions available after start:
rs - restart process.Useful for restarting supervisor eaven if no file has changed.Examples:supervisor myapp.jssupervisor myapp.coffeesupervisor -w scripts -e myext -x myrunner myappsupervisor -- server.js -h host -p port

啟動nodejs項目,二者比較,
1、就實際操作,感覺還是supervisor好用,并且即使改變的是node server中代碼也能實現刷新后得到新的結果

const Koa = require('koa');
const compose = require('koa-compose');
const app = new Koa();const logger = (ctx, next) => {console.log(`${Date.now()} ${ctx.request.method} ${ctx.request.url}`);next();
}const main = ctx => {ctx.response.body = 'Hello saa World';
};const middlewares = compose([logger, main]);app.use(middlewares);
app.listen(3000);

2、forever 在win 小出現了問題,在mac上面改變server代碼,刷新頁面,得到的數據還是舊的,supervisor完好
3、啟動后 forever start ….. 完后,就啟動了不能使用ctrl + c 停止,只能用命令 forever stop ….,supervisor可以使用ctrl + c 停止

這里寫圖片描述

這里寫圖片描述

開發的時候建議使用 supervisor,至于線上,如果害怕手賤一不注意把服務關掉就用forever

參考: https://blog.csdn.net/aerchi/article/details/73650296?locationNum=5&fps=1

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/140322.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息