generate打包发布

使用命令 npm generate 打包完成后会生成一个 dist 文件夹,拿到这个文件夹后就和vue之前的发布一样了,比较简单这里就不说了。(打包的时候后台需要开着)


build打包发布

1、使用命令 npm build 打包,会生成一个 .nuxt 文件夹。

2、安装node/npm(这也是蛋疼的一点不能全部靠nginx发布) Linux下安装Node / npm

3、把下面几个文件在服务器上找个地方放起来
.nuxt / static / nuxt.config.js / package.json

4、在当前文件夹下面执行 npm i (但是因为墙的问题,sass可能会下载失败),可以把npm改成cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org
ln -s /usr/local/node-v12.13.0-linux-x64/bin/cnpm /usr/local/bin

注意上面这个命令,替换成你的node安装路径

5、执行命令 npm start ,成功后你将会看到下面这个界面

6、去浏览器访问你的公网IP就好了


注:如果你访问不了,请考虑下面两个问题
1、你当前的端口,你在你的服务器上是否开放了(阿里云的安全组)
2、打开你的 nuxt.config.js做如下修改


这样发布存在一个问题,就是当你关闭了shell窗口,这个服务就被关闭了



下面来说一下使用pm2 后台发布项目

pm2具体是个啥,我也不想去研究(我真的只是个后端程序员)。在我看来它可以把我的服务在后台运行,不至于说我关闭shell我的服务也跟着关闭了

1、安装 pm2

npm i -g pm2

2、建立软连接,也就是把pm2命令放到 \usr\local\bin 里面去 (你的node安装位置可能和我的不一样,注意看一下地址)

ln -s /usr/local/node/node-v12.13.0-linux-x64/lib/node_modules/pm2/bin/pm2 /usr/local/bin/

3、设备开机自启动

pm2 startup
pm2 save

4、启用nuxt项目 (这个 my-nuxt ,就是你给这个项目取得一个名字,随意)

pm2 start npm --name "my-nuxt" -- run start

5、附上常用得pm2命令

pm2 list                   # 查看当前正在运行的进程
pm2 start all              # 启动所有应用
pm2 restart all            # 重启所有应用
pm2 stop all               # 停止所有的应用程序
pm2 delete all             # 关闭并删除所有应用
pm2 logs                   # 控制台显示所有日志 
pm2 start 0                # 启动 id为 0的指定应用程序
pm2 restart 0              # 重启 id为 0的指定应用程序
pm2 stop 0                 # 停止 id为 0的指定应用程序
pm2 delete 0               # 删除 id为 0的指定应用程序 
pm2 logs 0                 # 控制台显示编号为0的日志
pm2 show 0                 # 查看执行编号为0的进程
pm2 monit jsyfShopNuxt     # 监控名称为jsyfShopNuxt的进程





下面是使用域名访问

1、域名解析到服务器 https://blog.csdn.net/Tomwildboar/article/details/80341510


2、安装nginx https://blog.csdn.net/Tomwildboar/article/details/84074095

3、nginx配置

nginx配置两个443端口访问,并使80端口指向443,http跳转https