nodejs 官网
mkdir /data/tools -p && cd /data/tools
wget https://nodejs.org/download/release/v10.16.0/node-v10.16.0-linux-x64.tar.gz
tar zxvf node-v10.16.0-linux-x64.tar.gz
mv node-v10.16.0-linux-x64 /usr/local/node-v10.16.0
# 修改 PATH
vi /etc/profile
export NODEJS=/usr/local/node-v10.16.0
export PATH=$PATH:$NODEJS/bin
source /etc/profile
安装 cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
node -v
cnpm -v
升级 npm 版本
npm install npm@6.14.2 -g # 指定版本
npm install npm@latest -g # 最新版本
安装 pm2
cnpm install -g pm2
创建一个应用
mkdir /data/server -p && cd /data/server
vi server.js
var http = require("http");
http.createServer(function(req,res){
res.write('<head><meta charset="utf-8"></head>');
res.write("klvchen nodejs!");
res.end();
}).listen(3000);
# 启动应用
pm2 start /data/server/server.js --name my-web
访问
常见命令
npm install pm2 -g # 命令行安装 pm2
pm2 start app.js --name my-api # 命名进程
pm2 list # 显示所有进程状态
pm2 monit # 监视所有进程
pm2 logs # 显示所有进程日志
pm2 stop all # 停止所有进程
pm2 restart all # 重启所有进程
pm2 reload all # 0秒停机重载进程 (用于 NETWORKED 进程)
pm2 stop 0 # 停止指定的进程
pm2 restart 0 # 重启指定的进程
pm2 startup # 产生 init 脚本 保持进程活着
pm2 web # 运行健壮的 computer API endpoint (http://localhost:9615)
pm2 delete 0 # 杀死指定的进程
pm2 delete all # 杀死全部进程
创建一个 npm 项目
mkdir /data/demo && cd /data/demo/
npm init
# 根据以下内容,输入信息
cat package.json
{
"name": "demo",
"version": "1.0.0",
"description": "klvchen npm demo",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"author": "klvchen",
"license": "ISC"
}
# 新建 index.js
vi index.js
var http = require("http");
http.createServer(function(req,res){
res.write('<head><meta charset="utf-8"></head>');
res.write("klvchen npm demo!");
res.end();
}).listen(3000);
# 启动
npm run start
# 使用 pm2 进行管理
pm2 start npm --name "npm-demo" -- run start
pm2 list