Xshell 方式 (推荐)
官网下载
https://www.xshellcn.com/xiazai.html
https://www.netsarang.com/zh/free-for-home-school/
网盘下载
链接:https://pan.baidu.com/s/1wyWsKsl_g0UD5TOBVoFBuA
提取码:love
第三方下载
https://gitee.com/2xx/mytools/raw/master/xshell_xftp.zip
安装环境
方式1:脚本安装
安装 node / pm2 / 配置相关路径
nver='v14.16.1' && ndir="node-${nver}-linux-x64" && nfile="${ndir}.tar.xz" && cd /usr/local && wget https://nodejs.org/dist/$nver/$nfile && tar xvf $nfile && mv $ndir nodejs && rm -rf $nfile && cd nodejs/bin && ln -sf `readlink -f node` /usr/bin/node && ln -sf `readlink -f npm` /usr/bin/npm && ln -sf `readlink -f npx` /usr/bin/npx && npm config set registry http://registry.npm.taobao.org && npm i pm2 -g && ln -sf `readlink -f pm2` /usr/bin/pm2 && cd
( 官网下载地址:https://nodejs.org/zh-cn/download/ )
命令解释
命令1 && 命令2 命令1执行完成后,再执行命令2
nver=‘v14.16.1’ #定义版本变量 nver
ndir=“node-KaTeX parse error: Expected 'EOF', got '#' at position 21: …}-linux-x64" #̲定义目录变量 ndir nf…{ndir}.tar.xz” #定义压缩文件名变量 nfile
cd /usr/local #切换目录
wget https://nodejs.org/dist/
n
v
e
r
/
nver/
nver/nfile $下载文件
tar xvf $nfile #文件拆包解压
mv $ndir nodejs #对目录重命名
rm -rf $nfile #删除压缩包文件
cd nodejs/bin #进入目录
获取真实路径, 软链接到 /usr/bin 中, 使命令全局可用. -f为强制创建,会覆盖
ln -sf readlink -f node
/usr/bin/node
ln -sf readlink -f npm
/usr/bin/npm
ln -sf readlink -f npx
/usr/bin/npx
配置镜像
npm config set registry http://registry.npm.taobao.org
全局安装pm2
npm i pm2 -g
建立软链接. 使pm2全局使用
ln -sf readlink -f pm2
/usr/bin/pm2
返回家目录
cd
方式2:通过 nvm 安装
( github 不稳定,暂时不用这种方式 )
1.安装 nvm
cd
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
2.断开+重新连接 或 执行下面命令使 nvm 生效
source ~/.bashrc # bash
source ~/.zshrc # zsh MacOS ?
3.安装 node 稳定版
nvm install --lts
4.安装 pm2 到全局
npm i pm2 -g
5.建立软链接
nver=‘v14.16.1’ && cd /root/.nvm/versions/node/$nver/bin && ln -sf readlink -f node
/usr/bin/node && ln -sf readlink -f npm
/usr/bin/npm && ln -sf readlink -f npx
/usr/bin/npx && ln -sf readlink -f pm2
/usr/bin/pm2 && cd
内部防火墙 - 关闭!关闭!关闭!
( 建议不要开启内部防火墙 )
关闭内部防火墙
systemctl stop firewalld # 临时关
systemctl disable firewalld # 永久关. 重启以后也是关着的
开启内部防火墙
#systemctl start firewalld
添加开放端口规则
#firewall-cmd --zone=public --add-port=22/tcp --permanent
#firewall-cmd --zone=public --add-port=80/tcp --permanent
#firewall-cmd --zone=public --add-port=443/tcp --permanent
#firewall-cmd --zone=public --add-port=1337/tcp --permanent
#firewall-cmd --zone=public --add-port=3000/tcp --permanent
#firewall-cmd --zone=public --add-port=3306/tcp --permanent
#firewall-cmd --zone=public --add-port=8080/tcp --permanent
重新加载规则. 使之立刻生效.
#firewall-cmd --reload
测试
主要流程:把 server.js 复制到服务器,然后执行它。通过浏览器访问测试结果。
server.js 测试文件
(可以复制下面代码,或 点击下载)
const http = require(‘http’)
// 1.创建 web服务器
const server = http.createServer((req, res) => {
res.setHeader(‘Content-Type’, ‘text/html;charset=utf-8’)
res.end(‘拉勾教育’)
})
// 2.设置 web服务器 监听3000端口
server.listen(3000, () => {
console.log(‘服务器运行了’)
})
上传文件
方式一:本地 scp 命令
上传: scp 本地文件 root@服务器外网IP:服务器上面的路径
下载: scp root@服务器外网IP:服务器上面的路径 本地文件
方式二:Xshell (推荐)
运行测试
普通
node server.js
pm2
开启任务
pm2 start ‘node server.js’ --name MyServer
结束任务
pm2 delete MyServer
pm2 常用命令
pm2 start ‘npm run start’ --name xxx 开启任务,并命名为xxx
pm2 list 查看任务列表
pm2 delete 任务ID 结束并删除指定ID号的任务
pm2 info 任务ID 可以查看任务相关信息