nuxtjs服务端部署遇到的一些坑

前端 211 2022-06-17 07:54

eboonuxtjs服务端部署遇到的一些坑

前言

今天把单页的博客改造成用nuxt来直出完成了,然后到服务器上去部署,遇到一些小坑,记录一下。我的服务器系统是 centos

部署

1.将写好的代码推送到github

2.登录服务器,到相应的代码存放目录,我是存放到/home/fe-ssr目录,然后git clone https://github.com/Evansy/blog-srr.git拉下代码

3.npm i安装依赖

4.npm run build输出nuxt打包文件

5.npm run start &开启服务端渲染进程,默认是渲染到localhost:3000。

这里&在linux里面表示后台运行的意思,进程也确实后台运行了,但是当我打出.exit退出服务器之后,网页同时也无法访问了。查找了一下资料,还是要用后台进程守护程序来做后台进程,之前接触过linux下pm2很好用,于是就首选它。

pm2安装及后台运行nuxt

// 安装 npm i -g pm2 // 这里pm2是个node程序,直接运行pm2会报`commont not found`,需要关联到环境变量上来 // 中间的`node-v9.0.0-linux-x64`换成自己的node程序版本目录 ln -s/usr/local/src/node-v9.0.0-linux-x64/lib/node_ modules/pm2/bin/pm2 /usr/local/bin/pm2 // 守护nuxt进程`npm run start` 其实最后就是`./node_modules/nuxt/bin/nuxt -- start` pm2 start ./node_modules/nuxt/bin/nuxt -- start

注意技巧

nuxt默认运行的端口是3000,如果想运行在其他端口,就改代码根目录下的package.json文件,这里的"host": "0.0.0.0"建议添加,因为在本地调试项目的时候,代码默认运行地址是localhost:3000,你通过localhost:3000是可以本地打开调试代码的,但是通过你的IP是无法访问的,例如192.168.1.100:3000,加上了"host": "0.0.0.0",就可以通过IP访问你的项目了,这个时候如果你的手机也连接的这个wifi,你就可以在手机上查看你的代码效果啦。

nuxt运行项目端口更改

// package.json, "config": { "nuxt": { "host": "0.0.0.0", "port: 3000 } },