Bootstrap

阿里云Centos安装node.js和pm2 运行js脚本 开放端口 远程传输文件

连接服务器

将js文件传输到服务器

安装node.js和npm

安装pm2

运行js脚本

开放端口

连接服务器
首先得有一台服务器
如何买一台阿里云Centos的服务器

Windows系统下打开Windows power shell
在左下角右键,然后点击Windows power shell(管理员)
在这里插入图片描述

在这里插入图片描述
输入ssh root@你的服务器外网ip
例如ssh [email protected]

第一次连接会出现这样的英文
在这里插入图片描述
他会问你yes/no,输入yes并敲回车就可以输入密码了

然后会出现password,意思是让你输入服务器密码,密码就是之前自定义好的密码
在输入密码的时候密码是不显示出来的
输好密码后按回车,如果密码正确就会进入服务器
在这里插入图片描述
如果显示[root@你的主机名字~]#就是连接好了

将js文件传输到服务器
在Windows power shell输入

scp -r 文件所在目录 root@你的服务器外网ip:/root

例如scp -r D:/server.js [email protected]:/root

然后输入密码
就可以远程把文件传输到服务器
传输完的文件在服务器的root目录下

安装node.js和npm
连接到服务器之后应该是这样的
[root@你的主机名~]#
主机名后面如果有~代表当前的目录是root
在root目录下先下载node.js
输入

wget https://nodejs.org/dist/v10.9.0/node-v10.9.0-linux-x64.tar.xz

这句命令是下载node.js
然后输入ls,查看root目录下的文件
可以看到刚刚下载好的node.js,文件名为node-v10.9.0-linux-x64.tar.xz
接着来解压下载好的node.js

tar xf node-v10.9.0-linux-x64.tar.xz

还是输入ls查看目录下的文件,这时候应该有两个文件,一个是解压好的文件(node-v10.9.0-linux-x64),一个是没解压的文件(node-v10.9.0-linux-x64.tar.xz)

这样就下载好了
在这里插入图片描述

接下来需要配置环境变量
输入

cd /usr/local/bin

输入ls可以看到一些乱七八糟的东西
在这里插入图片描述
就是要在这里面配置环境变量

如果你一直是按照教程来的,那么你把node.js下载在了root文件夹里
输入

ln -s /root/node-v10.9.0-linux-x64/bin/node /usr/local/bin/

就可以
然后输入ls就可以看到目录下多了一个蓝色的node
在这里插入图片描述
如果你把node.js下载到了其他目录,只需要改一下命令就可以

ln -s /下载并解压好的node.js/bin/node /usr/local/bin/

这样node.js就配置好了
接着安装npm

同理输入

ln -s /root/node-v10.9.0-linux-x64/bin/npm /usr/local/bin/

输入ls查看发现又多了一个蓝色的npm
在这里插入图片描述

如果没有按照教程下载node.js还是需要去改命令
输入

ln -s /下载并解压好的node.js/bin/npm /usr/local/bin/

这样npm就配置好了

输入
node -v
npm -v
如果输出版本号就证明成功了
在这里插入图片描述

出现错误怎么办?
在配置过程中发现/usr/local/bin/下有红色的node和npm就是出现了错误
在这里插入图片描述
输入命令删除

rm -f npm
rm -f node

再ls查看红色的node和npm就消失了
接着按照上面的方法配置环境变量即可

ln -s /root/node-v10.9.0-linux-x64/bin/node /usr/local/bin/
ln -s /root/node-v10.9.0-linux-x64/bin/npm /usr/local/bin/

安装pm2
用node运行一个脚本,当远程连接的Windows power shell关了之后脚本就关掉了
用pm2运行一个脚本,Windows power shell关掉之后脚本还可以运行
输入

npm install -g pm2

然后配置环境变量

ln -s /root/node-v10.9.0-linux-x64/bin/pm2  /usr/local/bin

道理和上面的都是完全一样的
输入pm2 -v查看版本
只要输出版本号就算成功了
下面这张好看的立体图形只在第一次用pm2的时候出现
在这里插入图片描述
用符号排列出这么立体感的图形,牛啤

运行脚本
cd到脚本所在的目录,像在Windows下一样安装所需模块
然后
node a.js
这样运行脚本当Windows power shell关闭时脚本会关掉

使用pm2运行脚本,当Windows power shell关闭时脚本不会关掉,这就很香

运行一个脚本
pm2 start a.js

停止一个脚本
pm2 stop a.js

常用的命令
pm2 list 显示所有应用程序的情况
pm2 logs 显示所有应用程序的log
pm2 stop all 停止所有的应用程序
pm2 restart all 重启所有应用

开放端口
先开启防火墙

systemctl start firewalld

然后开放想要开放的端口

开放单个端口
例如开放3000端口,通讯协议是tcp

firewall-cmd --zone=public --add-port=3000/tcp --permanent  

关闭单个端口
例如关闭3000端口,通讯协议是tcp

firewall-cmd --zone=public --remove-port=3000/tcp --permanent

批量开放端口
例如开放1000-2000端口,通讯协议是tcp

firewall-cmd --permanent --zone=public --add-port=1000-2000/tcp 

批量关闭端口
例如关闭1000-2000端口,通讯协议是tcp

firewall-cmd --zone=public --remove-port=1000-2000/tcp --permanent

重点来了,每次开放或关闭端口后必须重启防火墙才有效果
重启防火墙命令

systemctl restart firewalld.service

查看已经开放的端口

firewall-cmd --list-ports

除了这些,还需要在阿里云控制台进行端口的开放
阿里云官网

打开控制台
在这里插入图片描述
打开云服务器ECS
在这里插入图片描述
在网络安全里面找到安全组
在这里插入图片描述
找到安全组,点击这个蓝色的文字
在这里插入图片描述
在入方向手动添加
在这里插入图片描述
优先级写100就可以,协议类型按照需要选,端口范围这里如果想开放一个端口直接写端口数字即可,如果想批量开放就需要在两个端口之间加上/
例如开放100-200端口:100/200
开放100端口直接写100就可以
源选择0.0.0.0/0
描述随便写点什么
点击保存
在这里插入图片描述

同样的操作
在出方向重复刚刚的操作,记得保存
在这里插入图片描述

大功告成

;