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

首先,我们需要下载我们需要的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 :标准输出日志文件的路径,有默认路径

-e --error :错误输出日志文件的路径,有默认路径

--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

你可能感兴趣的:(linux服务器安装node环境及项目部署)