Vue.js 是构建客户端应用程序的框架。默认情况下,可以在浏览器中输出 Vue 组件,进行生成 DOM 和操作 DOM。然而,也可以将同一个组件渲染为服务器端的 HTML 字符串,将它们直接发送到浏览器,最后将静态标记"混合"为客户端上完全交互的应用程序。
1、准备
服务器中需要安装nodejs环境
下载安装包到指定目录,我的存放目录是 /usr/local/
执行命令
tar -xvf node-v8.9.3-linux-x64.tar.xz //解压
mv node-v8.9.3-linux-x64 nodejs //改名
添加node npm到全局
ln -s /usr/local/nodejs/bin/node /usr/local/bin/
ln -s /app/local/nodejs/bin/npm /usr/local/bin/
为了某些情况顺利点建议安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
同样添加到全局
ln -s /usr/local/nodejs/bin/cnpm /usr/local/bin/
安装pm2,便于进行进程管理
npm install pm2 -g //安装pm2
添加到全局
ln -s /usr/local/nodejs/bin/pm2 /usr/local/bin/
2、过程
我将我本地的项目文件传输到/usr/local/nuxt/nuxtDemo目录 注意不用传输node_modules .nuxt dist等一些开发环境的文件
cd到/usr/local/nuxt/nuxtDemo目录执行
cnpm install
npm run build
npm run start
可以使用pm2进行进程管理
pm2 start ./node_modules/nuxt/bin/nuxt
会默认启动一个服务进程,端口号是3000
测试
curl http://localhost:3000
//出来一段你的应用html说明部署是没问题的
3、还没有完事,需要给外网访问你的应用,用nginx进行代理
upstream nuxt {
server 127.0.0.1:3000;
}
server{
listen 8082;
server_name 192.168.3.205;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Nginx-proxy true;
proxy_pass http://nuxt;
proxy_redirect off;
}
}
4、我们在外网访问应用
http://192.168.3.205:8082
到此为止,vue2.0的ssr应用服务已经部署完毕
5、不需要了可以结束进程
mp2 stop nuxt
6、更多pm2命令
//安装
npm install pm2 -g //安装pm2
pm2 update // 更新pm2
pm2 uninstall pm2 //移除pm2
//开启关闭
pm2 start nuxt //启动server.js进程
pm2 start nuxt -i 4 //启动4个server.js进程
pm2 restart nuxt //重启server.js进程
pm2 stop all // 停止所有进程
pm2 stop nuxt //停止server.js进程
pm2 stop 0 //停止编号为0的进程
//查看
pm2 list
//监控
pm2 monit
//查看日志
pm2 logs
7、vue采用服务器渲染有几点好处
vue官网中有做描述
8、更详细的可以到博客地址 jtanx博客查看