注:如果服务器已经安装了node可以直接进行步骤3,如果没有安装从步骤1开始,步骤2可用可不用,推荐使用方便管理node版本。
安装node(这个地方最好是安装和你本地的node版本一致)
遇坑:我默认下载的最新版本为v18.14.2,最后安装依赖时报错(node版本太高,当前项目的依赖版本太低)。
1.1、进入服务器目录
cd /usr/local/src/
1.2、输入命令(这个地方是复制的链接,版本可替换成你需要的版本)
参考:https://nodejs.org/zh-cn/download/releases/
wget https://nodejs.org/dist/v12.19.0/node-v12.19.0.tar.gz
1.3、在当前目录解压下载包(/usr/local/src/)
tar -zxvf node-v12.19.0.tar.gz
1.4、解压完成后,把解压包移到目录/usr/local/node/下,如果没有node目录,就建一个。因为一般认为local下是安装的软件
mv node-v12.19.0 /usr/local/node/
cd /usr/local/node/
1.5、运行命令
./configure
1.6、运行命令(这个地方等待时间较长,一定要耐心等待,我当时等了2个小时左右)
make
1.7、运行命令
sudo make install
1.8、输入命令查看(如果有版本提示说明安装成功,没有的话说明还需要配置文件)
node -v
1.9、输入命令(这部安装成功的就不需要做了)
vim /etc/profile
在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL上面输入
export NODE_HOME=/usr/local/node/node-v9.8.0
export PATH=$NODE_HOME/bin:$PATH
保存退出,输入命令
source /etc/profile
最后查看版本号
node -v
、安装node管理器n
npm install -g n
查看n模块版本
n --version或 n -V
下载node指定版本(命令使用对应的node版本)
n 12.19.0
安装最新版本(node版本)
n latest
切换node版本
n
选择已安装版本
node/12.19.0
o node/18.14.2
使用向上/向下箭头键选择版本,返回键安装,d删除,q退出
使用node -v查看当前版本,如果查看版本还是当前版本需要设置一下PATH
2.1、设置PATH,查看当前node目录
which node
2.2、编辑配置文件
vi ~/.bash_profile
2.3、将下面2行代码插入文件末尾,保存
export N_PREFIX=/usr/local
export PATH=$N_PREFIX/bin:$PATH
:wq
:wq 强制性写入文件并退出
2.4、执行 source 使修改立即生效
source ~/.bash_profile
再使用node -v查看版本
3.安装pm2启动nuxt项目(不要用太低的node版本,安装pm2会报错)
# 安装pm2
npm install -g pm2
# 把项目打包后将这几个文件上传至服务器
nuxt.config.js
package.json
package-lock.json
static
.nuxt
##后续更新只需要上传这几个文件就可以了
nuxt.config.js
package.json
.nuxt
# 构建安装(进入服务器在当前项目目录下安装依赖)
npm install
# 启动项目(访问地址,你服务器地址加你项目配置的端口号)
pm2 start npm --name "你的项目名字" -- run start
# 查看项目
pm2 list
## 要是没有启动成功就手动启动
npm run dev
# 配置npm源
npm config set registry https://registry.npmmirror.com
3.1、pm2使用命令
# 启动进程/应用
pm2 start app.js # 单个启动
pm2 start app.js -i max # 根据有效CPU数目启动最大进程数目
pm2 start app.js -i 3 # 启动3个进程,自动负载均衡
pm2 start app.js --watch # 启动并监听项目文件变化
pm2 start app.json # 启动进程, 在 app.json里设置选项
----------------------------
#批量启动
{
"apps": [{
"name": "appA",
"script": "./appA.js",
"watch": false
}, {
"name": "appB",
"script": "./appB.js",
"watch": false
}]
}
# 再执行:
$ pm2 start server.json
-----------------------------
# 重命名进程/应用
pm2 start app.js --name 项目名称
# 结束进程/应用
pm2 stop 项目名称
# 结束所有进程/应用
pm2 stop all
# 删除进程/应用 pm2
pm2 delete 项目名称
# 删除所有进程/应用
pm2 delete all
# 列出所有进程/应用
pm2 list
# 查看某个进程/应用具体情况
pm2 describe 项目名称
# 查看进程/应用的资源消耗情况
pm2 monit
# 查看pm2的日志
pm2 logs 序号/名称
# 若要查看某个进程/应用的日志,使用
pm2 logs 项目名称
# 重新启动进程/应用
pm2 restart 项目名称
# 重新启动所有进程/应用
pm2 restart all