首先,我们需要下载我们需要的linux版本的node安装包
//下载各版本nodejs地址链接
Index of /download/release/
这里我安装的是node-v8.12.0-linux-x64.tar.xz
下载好后我们的到服务器端的根目录下安装node环境,需要root权限用户才好操作哦
// 将tar.xz压缩文件转成 node-v8.11.3-linux-x64.tar
xz -d node-v8.12.0-linux-x64.tar.xz
//再用 tar xvf node-v8.11.3-linux-x64.tar 解压缩文件
tar -xvf node-v8.12.0-linux-x64.tar
//可修改名字(也可以不改名字的)
mv node-v8.12.0-linux-x64 nodejs
可以进入到nodejs文件bin目录下,执行 ./node -v 可查看版本
可以查看的到node版本,但是呢,这样不方便,我们想要的是全局都能用,而不是只能在某个目录下使用。我们现在就做下配置
返回根目录,对node和npm设置软连接
ln -s /usr/nodejs12/nodejs/bin/node /usr/local/bin/node
ln -s /usr/nodejs12/nodejs/bin/npm /usr/local/bin/npm
我们可以查看下/usr/local/bin/目录下是否有了node和npm了
有了!我们在试下node -v 是否可以查看得到版本号,如果可以,那么就证明node环境就差不多啦
node自带了npm,我们可以顺便都查下node和npm的版本,如果可以查到,则证明你的node和npm基本可以用啦
但是我们最好还是需要做下配置,以免日后翻车
//进入到profile文件
vim /etc/profile
//在文件的末尾添加一下三行语句 (vim 操作命令可自己网上百度,这里就不多说了)
export NODE_HOME=/usr/local/node
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
//按ESC键,再输入:wq保存并退出
//配置完成后执行
source /etc/profile
//在命令行中输入 node -v
//为了保证每个账户下该配置均可用需要
vim /root/.bashrc
//在这个文件的末尾加上以下这句语句
source etc/profile
//按ESC键,再输入:wq保存并退出
//成啦
再去试试,你会觉得无比自在~~旋转 跳跃 ~~
这里你就能看到成功的曙光了,nodejs环境已经好了,OK
接下来是node项目部署啦
你可以创建一个存放你的项目目录
把你的node项目拉进来,然后进入到你的项目根目录下npm install安装依赖
//这样你保存在package.json的依赖就会自动安装了
npm install
好了,我们需要思考个问题,怎么让项目一直跑起来呢?服务器不关,项目怎么可以一直维持着运行的状态呢?
两种方法:pm2和forever
forever和pm2的区别:
forever 管理多个站点,每个站访问量不大,不需要监控。
pm2 的话访问量会相对大,需要完整的监控界面。
可根据自己需求进行安装哦~~
这里,我两个都安装了,运行时只需要一个就够了哦
全局安装pm2
npm install pm2 -g
建立pm2软连接
ln -s /usr/nodejs12/nodejs/bin/pm2 /usr/local/bin/pm2
pm2一些常用操作命令
启动:pm2 start demo.js //demo.js是你要启动的app_name|app_id文件
停止:pm2 stop app_name|app_id
删除:pm2 delete app_name|app_id
重启:pm2 restart app_name|app_id
停止所有:pm2 stop all
查看所有的进程:pm2 list
查看所有的进程状态:pm2 status
查看某一个进程的信息:pm2 describe app_name|app_id
参数说明
--watch:监听应用目录源码的变化,一旦发生变化,自动重启。如果要精确监听、不见听的目录,最好通过配置文件
-i --instances:启用多少个实例,可用于负载均衡。如果-i 0或者-i max,则根据当前机器核数确定实例数目,可以弥补node.js缺陷
--ignore-watch:排除监听的目录/文件,可以是特定的文件名,也可以是正则。比如--ignore-watch="test node_modules "some scripts"
-n --name:应用的名称,查看应用信息的时候可以用到
-o --output <path>:标准输出日志文件的路径,有默认路径
-e --error <path>:错误输出日志文件的路径,有默认路径
--interpreter <interpreter>:the interpreter pm2 should use for executing app (bash, python...)
如完整参数命令:
pm2 start demo.js --watch -i 2 //开启2个进程
pm2 start app.js -i max //根据机器CPU核数,开启对应数目的进程
更多的执行命令及用法可自行网上搜,这里不一一列出了哦
全局安装forever
npm install forever -g
建立forever软连接
ln -s /usr/nodejs12/nodejs/bin/forever /usr/local/bin/forever
forever一些常用操作命令
foreverstartdemo.js//启动项目 demo.js是你要启动的js文件foreverlist//列出forever正在运行的服务脚本foreverstopdemo.js//可停止服务运行forever--help//查看帮助信息//指定demo.js中的日志信息和错误日志输出文件//-o 是console.log输出的信息 -e 是console.error输出的信息foreverstart-oout.log-eerr.logdemo.js//指定forever信息输出文件,默认放到~/.forever/forever.log,可以指定绝对路径放置自己的目录forever-lforever.logstartdemo.js
更多的执行命令及用法可自行网上搜,这里不一一列出了哦
转载于:https://zhuanlan.zhihu.com/p/49741341