使用xshell linux安装nodejs,CentOS下安装并配置nodejs环境教程
1. 下载node最新版本 : 连接 https://nodejs.org/zh-cn/(查看node最新版本)
在跟目录root下,命令行输入:
wget https://nodejs.org/download/release/v16.16.0/node-v16.16.0-linux-x64.tar.xz
如下图:
2. 解压下载的node源文件:
tar -xvf node-v16.16.0-linux-x64.tar.xz
修改文件夹(目录)的名字
mv node-v16.16.0-linux-x64 nodejs
3、执行软连接
注意:确认一下nodejs下bin目录是否有node 和npm文件,如果有执行软连接,如果没有重新下载执行上边步骤
返回根目录cd /,对node和npm设置软连接
ln -s /root/nodejs/bin/node /usr/bin/
ln -s /root/nodejs/bin/npm /usr/bin/
检查是否安装成功:
配置: 要使 node 命令在任何目录中都可以使用,需要配置环境变量,如下:
首先在 root 目录下找到 .bash_profile 文件,编辑,vi ~/.bash_profile
找到 PATH=P A T H : PATH:PATH:HOME/bin,在后面添加路径为:
PATH=P A T H : PATH:PATH:HOME/bin:/usr/local/nodejs/bin
保存修改,然后重载一下,source ~/.bash_profile
4、我们需要思考个问题,怎么让项目一直跑起来呢?服务器不关,项目怎么可以一直维持着运行的状态呢?
两种方法:pm2和forever
forever和pm2的区别:
forever 管理多个站点,每个站访问量不大,不需要监控。
pm2 的话访问量会相对大,需要完整的监控界面。
可根据自己需求进行安装哦~~
安装pm2,通过pm2启动node可以使关闭终端时node依然运行。
全局安装pm2,现在应该知道pm2是安装在哪里了,那么直接创建全局命令软链接
ln -s /root/nodejs/bin/pm2 /usr/local/bin/
pm2 -v
检查安装完毕!!!
pm2安装成功
使用pm2启动服务,进入到可以使用npm start
命令的目录,执行pm2命令
pm2 start npm --name 'wz-irm' -- start
设置pm2管理的服务开机自启
运行 pm2 startup,即在/etc/init.d/目录下生成pm2-root的启动脚本,且自动将pm2-root设为服务。
运行pm2 save,会将当前pm2所运行的应用保存在/root/.pm2/dump.pm2下,当开机重启时,运行pm2-root服务脚本,并且到/root/.pm2/dump.pm2下读取应用并启动。
使用pm2 list验证是否成功建立连接:
pm2 list
pm2常用命令请参考https://www.jianshu.com/p/e15fd72727fe
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核数,开启对应数目的进程