nuxt.js服务端渲染项目怎么发布到服务器?
首页 >  Web前端 > Vue  > 2018年09月24日阅(343)评(0

1、服务器搭建nodejs环境

本文通过NVM安装nodejs。NVM(Node version manager)顾名思义,就是Node.js的版本管理软件,可以轻松的在Node.js各个版本间切换。

首先,下载并安装NVM脚本。可以使用cURL安装:

使用cURL安装
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
使用Wget安装
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

安装nvm.jpg

然后执行source ~/.bashrc现在NVM已经安装完成了,下面开始安装node:

安装最新稳定版nodenvm install stable

nvm安装node.jpg

列出可选版本nvm list-remote

安装相应的版本nvm install v10.3.0

查看已安装的版本nvm list

切换版本nvm use v10.10.0

设置默认版本nvm alias default v10.10.0

安装完成后使用node -vnpm -v即可检测是否成功

更多nvm使用方法详见官方README.md

2、服务器安装pm2

PM2(Process Manager 2 )是具有内置负载均衡器的Node.js应用程序的生产运行时和进程管理器。 它允许您永久保持应用程序活跃,无需停机即可重新加载它们,并促进常见的Devops任务。

安装pm2 npm install pm2 -g

pm2常用命令:

启动:
pm2 start app.js
pm2 start app.js --name my-api       #my-api为PM2进程名称
pm2 start app.js -i 0                #根据CPU核数启动进程个数
pm2 start app.js --watch             #实时监控app.js的方式启动,当app.js文件有变动时,pm2会自动reload

查看进程:
pm2 list
pm2 show 0 或者 # pm2 info 0         #查看进程详细信息,0为PM2进程id 

监控:
pm2 monit

停止:
pm2 stop all                         #停止PM2列表中所有的进程
pm2 stop 0                           #停止PM2列表中进程为0的进程

重载:
pm2 reload all                       #重载PM2列表中所有的进程
pm2 reload 0                         #重载PM2列表中进程为0的进程

重启:
pm2 restart all                      #重启PM2列表中所有的进程
pm2 restart 0                        #重启PM2列表中进程为0的进程

删除PM2进程:
pm2 delete 0                         #删除PM2列表中进程为0的进程
pm2 delete all                       #删除PM2列表中所有的进程

更多pm2使用方法详见其官方文档

3、项目部署

a.在本地项目中执行npm run build完成打包

b.选择要部署的文件

.nuxt 文件夹
package.json
static 文件夹(若未使用该文件夹下的东西则可不传)
nuxt.config.js 如果你配置proxy等,则需要上传这个文件,建议把它传上去

在package.json中可以指定端口,添加如下代码即可:

"config": {
    "nuxt": {
        "host": "0.0.0.0",
        "port": "88"
    }
},

c.进入服务器,切换到项目目录,执行npm install安装项目依赖,然后执行pm2 start npm --name "your project name" -- run start即可启动项目

相关资料

基于vue-cli或nuxt的项目自定义环境变量的方法
通过URL直接调用百度地图、高德地图和腾讯地图的web端或app

有朋自远方来...评论一下呗O(∩_∩)O哈哈~

QQ
昵称*
邮箱*
主页