部署Node.js环境(CentOS 7)
来自阿里云官方文档 https://help.aliyun.com/document_detail/50775.html
布骤二:部署Node.js环境
选择以下任意一种方法部署Node.js环境。
- 使用NVM安装多版本。
NVM(Node Version Manager)是Node.js的版本管理软件,使您可以轻松在Node.js各个版本间进行切换。适用于长期做node开发的人员或有快速更新node版本、快速切换node版本的场景。
完成以下操作,使用NVM安装多个Node.js版本:- 使用git将源码克隆到本地的~/.nvm目录下,并检查最新版本。
yum install git git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
- 激活NVM。
echo ". ~/.nvm/nvm.sh" >> /etc/profile source /etc/profile
- 列出Node.js的所有版本。
nvm list-remote
- 安装多个Node.js版本。
nvm install v6.9.5 nvm install v7.4.0
补充 - 运行
nvm ls
查看已安装的Node.js版本。本示例使用的版本为v7.4.0。返回结果如下所示。
[root@iZXXXXZ .nvm]# nvm ls v6.9.5 -> v7.4.0 system stable -> 7.4 (-> v7.4.0) (default) unstable -> 6.9 (-> v6.9.5) (default)
- 运行
nvm use <版本号>
可以切换Node.js版本。例如,切换Node.js版本至v7.4.0。返回结果如下所示。
[root@iZXXXXZ .nvm]# nvm use v7.4.0 Now using node v7.4.0
- 使用git将源码克隆到本地的~/.nvm目录下,并检查最新版本。
- 使用二进制文件安装。
该部署过程使用的安装包是已编译好的二进制文件。解压之后,在bin文件夹中就已存在node和npm,无需重复编译。
完成以下操作,使用二进制文件部署Node.js环境:- 下载Node.js安装包。
wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz
- 解压文件。
tar xvf node-v6.9.5-linux-x64.tar.xz
- 创建软链接,您就可以在任意目录下直接使用node和npm命令。
ln -s /root/node-v6.9.5-linux-x64/bin/node /usr/local/bin/node ln -s /root/node-v6.9.5-linux-x64/bin/npm /usr/local/bin/npm
- 查看node、npm版本。
node -v npm -v
至此,Node.js环境已安装完毕。软件默认安装在/root/node-v6.9.5-linux-x64/目录下。
- 如果需要将该软件安装到其他目录(例如:/opt/node/)下,请进行如下操作:
mkdir -p /opt/node/ mv /root/node-v6.9.5-linux-x64/* /opt/node/ rm -f /usr/local/bin/node rm -f /usr/local/bin/npm ln -s /opt/node/bin/node /usr/local/bin/node ln -s /opt/node/bin/npm /usr/local/bin/npm
- 下载Node.js安装包。
步骤三:部署测试项目
登录阿里云实例的后台管理系统
进入云服务器ECS -> 找到网络和安全 -> 找到安全组,进入到安全组中,在列表的右侧找到配置规则,点击进入
这个地方就是当前这个实例所支持的所有的端口以及指定的IP(如果有的话)。
在右上方找到添加安全组规则,根据提示将自己node服务要访问的端口号配置进去,然后重启 node 服务,即可实现在公网加端口访问自己线上的node服务器了。
####再补充一个点 关闭终端查看当前端口占用的程序
来自 https://www.cnblogs.com/tianzun-blog/p/8446751.html
2.& 用途:在后台运行
一般两个一起用
nohup command &
查看运行的后台进程
(1)jobs -l
jobs命令只看当前终端生效的,关闭终端后,在另一个终端jobs已经无法看到后台跑得程序了,此时利用ps(进程查看命令)
(2)ps -ef ps -aux|grep chat.js
a:显示所有程序
u:以用户为主的格式来显示
x:显示所有程序,不以终端机来区分
用ps -def | grep查找进程很方便,最后一行总是会grep自己
3.如果某个进程起不来,可能是某个端口被占用
查看使用某端口的进程 lsof -i:8090 netstat -ap|grep 8090
查看到进程id之后,使用netstat命令查看其占用的端口
netstat -nap|grep 7779
4.终止后台运行的进程
kill -9 进程号
####补充
nvm install stable
可以使用上边的命令安装最新稳定版的nodejs。
还有一点 就是npm install 不动的话 也有可能你的node 不是用的最新版本导致的
####补充
如何后台运行,即,关闭控制台不退出运行的程序?
nohup npm run dev &
& 可以不用
这块会回显一个
nohup: ignoring input and appending output to 'nohup.out'
再敲回车会到正常的控制台
而且程序也后台跑了起来
这块这个应该是个提示信息,输出的信息写到了nohup.out里
有些文说改输出路径 就我的情况来看 好像没必要