nuxt.js部署到nginx的非根目录
由于seo还有性能的优化,ssr渲染方式越来越流行,最近我也打算过渡到ssr,于是有了这篇文章。
首先按照官网的教程进行本地的nuxt.js安装
一、配置nginx和node环境
1、首先修改nginx.conf 、 http-www.conf
Nginx.conf
http-www.conf
注意这里的结尾斜杆,这里又引出了另一个nginx的反向代理问题,参考这篇文章https://blog.****.net/zhongzh86/article/details/70173174
像我这种在域名下非根目录,适合第二种情况(如上图http-www.conf的配置),由于配置的是域名非根目录 所以要修改下nuxt.config.js的router配置(开发环境无所谓‘/’就好)
箭头上的名字要跟http-www.conf 配置里location后面的名字相同
修改之后替换nginx配置
nginx -s reload 重加载nginx即可(用这个命令的前提是nginx做了全局配置,不然就到nginx的安装目录执行)
2、centos安装node和npm(node自带)
wget https://npm.taobao.org/mirrors/node/v10.6.0/node-v10.6.0-linux-x64.tar.gz
解压tar -xvf node-v10.6.0-linux-x64.tar.gz
把解压出来的文件名改为node(主要是为了方便书写)
我这里安装是V10.6.0版本 npm版本为6.1.0
然后全局配置
ln -s /nodeJS/node/bin/node /usr/local/bin/node (前面是你node的路径,注意中间的空格)
ln -s /nodeJS/node/bin/npm /usr/local/bin/npm
然后安装npm install -g pm2 (开启进程守护)
此时还没有pm2的命令
配置全局
ln -s /nodeJS/node/bin/pm2 /usr/local/bin/pm2
现在服务器上的配置算是好了
二、安装nuxt.js
这里我就偷懒了,直接上链接还有截图https://zh.nuxtjs.org/guide/installation
package.json的配置片段
然后将你的代码(.nuxt文件夹,static文件夹,nuxt.config.js和package.json这四个即可,注意.nuxt放到linux上面会是隐藏的)放上去服务器域名的非根目录(这里我只说非根目录的,比如我的域名www.test.com指向的目录为/home/webapps/aa/bb , 而我要把代码放到/home/webapps/aa/bb/gsyshop下面)
代码放上去之后npm install 安装依赖
依赖安装结束后就可以愉快的开发了 , 本地开发结束,npm run build打包然后将.nuxt替换到服务器对应目录即可,在服务器端npm run start
之后就可以通过http://你的域名/nuxtshop/来访问了
然后开启进程守护 pm2 start npm --name “my-nuxt” – run start
其中 “my-nuxt”的名称是 我们在package中的项目名称。
(有什么问题欢迎留言指正)