1、环境安装
安装工具
(1)Nvm(此步骤可省略,安装这个是为了方便以后对node的版本控制,或者切换升级node版本方便)
a)使用bash安装
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
b)或者使用wget:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
安装后,关闭并重新打开你的终端,或者运行以下命令来更新你的shell配置:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
查看是否安装成功
nvm --version
比如想安装
(2)node安装
现在你可以使用nvm来安装Node.js
nvm install node这里可以写版本号(比如 nvm install 20.0.0)则是下载20.0.0版本的node
(3)pm2(也可省略,可直接用node启动,安装这个是为了启动node进程方便)
pm2安装
nvm install node
pm2 --version
2、简易版部署(用node部署)
以上安装好后,简易版部署,
方法一:部署ssg
(1)那么执行npm run generate
则会出现这个打包后的资源
(2)把.output放到nginx的环境上/web下,配置nginx前端地址
(3)启动Nginx,可以用
如果nginx已经启动过,则先关闭nginx,再重新启动
systemctl stop nginx
systemctl start nginx
,接着就可以用
http://ip:8081访问刚才部署的项目了
方法二:部署ssr
(1)项目目录下执行npm run build
(2)把生成的.output放到web文件夹下
(3)进入nginx下的web/.output/server文件夹
cd web/.output/server
(4)启动前端服务
node ./index.mjs
会发现启动了一个3000端口的node进程,
(5)配置nginx
(6)重启nginx
systemctrl reload nginx
这时就可以用http://服务器ip:8081
访问了
3、用pm2部署ssr
(1)项目目录下执行npm run build
(2)把生成的.output放到web文件夹下
(3)同时新建一个ecosystem.config.js文件如下
module.exports = {
apps: [
{
name: "NuxtAppName",
port: "3000",
exec_mode: "cluster",
instances: "max",
script: "./.output/server/index.mjs",
},
],
};
把这个文件放web文件夹下
(4)用pm2启动进程
先执行
pm2 start ./web/ecosystem.config.js
(5)nginx配置不变(注意:ecosystem的port是可以自定义的,但是配置nginx保持一致就好,如都是3000)
(6)重启nginx
systemctrl reload nginx
这时就可以用http://服务器ip:8081