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);
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
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态