From acbc5d999347e9290787c55bbc645b216e62e5d2 Mon Sep 17 00:00:00 2001 From: Tjatse Date: Thu, 18 Dec 2014 22:10:19 +0800 Subject: [PATCH] rm tip shot --- README.md | 67 ++++++++++++++------------------------------ screenshots/tip.jpg | Bin 20699 -> 0 bytes 2 files changed, 21 insertions(+), 46 deletions(-) delete mode 100644 screenshots/tip.jpg diff --git a/README.md b/README.md index 00f4541..546bfb3 100644 --- a/README.md +++ b/README.md @@ -6,26 +6,33 @@ An elegant web interface for Unitech/PM2. > Compatible with PM2 v0.12.2. # Guide +- [Features](#feats) +- [Cautions](#cauts) - [Installation](#ins) - [CLI](#cli) - [Run Web Interface](#cli_web) - [Configs](#cli_confs) - - [Set](#cli_conf_set) - - [Remove](#cli_conf_remove) - [Authorization](#auth) -- [Features](#feats) -- [Cautions](#cauts) - [UI/UX](#ui) - - [Login](#login) - - [Backend](#back) - - [Home](#home) - - [Empty List](#no_proc) - - [Processes](#procs) - - [Describe Complete Information](#info) - - [Tail Logs](#tail_logs) - - [Tips](#tip) - [TODO](#todo) + +# Feature +- All the heartbeats (no matter **monitor** or **tail (logs)**) are automatic destroyed. +- The `PM2` processes are watched by a subscribed emitter. +- Communicated with `PM2` through **RPC** socket directly. +- Socket.io between client and server. +- Monitor CPU and Memory usage of server in a real-time. +- Monitor `PM2` processes in a real-time. +- PM2 *restart/stop/delete*. + - *stopWatch* files before *restart/stop/delete* + - *restartWatch* files before *restart* +- Supports [ANSI color codes](#tail_logs) by [ansi-html](https://github.com/Tjatse/ansi-html). + + +# Cautions +- Web Interface is wrote by CSS3 && HTML5, so view it with the latest version of the browser (WebGL, Animation, WebSocket supports), e.g. Chrome, Safari and Firefox. +- I've never test it on Internet Explorer / Windows. # Installation @@ -86,7 +93,6 @@ $ npm install -g pm2-gui - **pm2** Root directory of Unitech/PM2, `~/.pm2` by default. - **password** The encrypted authentication code, if this config is set, users need to be authorized before accessing the index page. - ### Set Config Usage ```bash @@ -100,7 +106,6 @@ $ pm2-gui set refresh 2000 Above command will set `refresh` to 2 seconds. - ### Remove Config Usage ```bash @@ -124,82 +129,52 @@ $ pm2-gui start When you visiting `http://[domain]:8088` in your browser, it will be redirected to `http://[domain]:8088/auth`, and you need to typo the password (`1234`) to login. -Otherwise, if you wanna anybody visit your Monitor without authorization, just simply remove it: +Otherwise, if you do not want to deny anybody, just simply remove it: ```bash $ pm2-gui rm password $ pm2-gui start ``` - -# Feature -- All the heartbeats (no matter **monitor** or **tail (logs)**) are automatic destroyed. -- The `PM2` processes are watched by a subscribed emitter. -- Communicated with `PM2` through **RPC** socket directly. -- Socket.io between client and server. -- Monitor CPU and Memory usage of server in a real-time. -- Monitor `PM2` processes in a real-time. -- PM2 *restart/stop/delete*. - - *stopWatch* files before *restart/stop/delete* - - *restartWatch* files before *restart* -- Supports [ANSI color codes](#tail_logs) by [ansi-html](https://github.com/Tjatse/ansi-html). - - -# Cautions -- Web Interface is wrote by CSS3 && HTML5, so view it with the latest version of the browser (WebGL, Animation, WebSocket supports), e.g. Chrome, Safari and Firefox. -- I've never test it on Internet Explorer / Windows. - # UI/UX - Amazing and smooth animations. - High performance. - Backend (without `--no-debug` option): ![image](screenshots/term.jpg) - Login ![image](screenshots/login.jpg) - Home ![image](screenshots/home.jpg) - Empty List ![image](screenshots/no-proc.jpg) - Processes ![image](screenshots/procs.jpg) - Describe Complete Information ![image](screenshots/proc-info.jpg) - Tail Logs ![image](screenshots/tail-logs.jpg) - -Tips - -![image](screenshots/tip.jpg) - # TODO - [x] Authentication - [ ] Multiple operations. - [ ] Configured JSON files. - [ ] Memory and CPU usage gauge of each process. -- [ ] Test on Windows (need environment). +- [ ] Test on Internet Explorer (need environment && PRs). - [ ] Need feedback/test. diff --git a/screenshots/tip.jpg b/screenshots/tip.jpg deleted file mode 100644 index c8335e9f1495d81a952afb324dc3d47475359cb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20699 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