博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

linux服务器安装node环境及项目部署

Posted on 2021-05-06 09:21  guors  阅读(322)  评论(0编辑  收藏  举报
首先,我们需要下载我们需要的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一些常用操作命令
forever start demo.js //启动项目 demo.js是你要启动的js文件
forever list //列出forever正在运行的服务脚本
forever stop demo.js //可停止服务运行
forever --help  //查看帮助信息
//指定demo.js中的日志信息和错误日志输出文件
//-o 是console.log输出的信息   -e 是console.error输出的信息 
forever start -o out.log -e err.log demo.js 
//指定forever信息输出文件,默认放到~/.forever/forever.log,可以指定绝对路径放置自己的目录 
forever -l forever.log start demo.js

更多的执行命令及用法可自行网上搜,这里不一一列出了哦

 

转载于:https://zhuanlan.zhihu.com/p/49741341