在云服务器上部署nuxt服务端渲染服务(亲测线上)

普歌-如何在云服务器上部署nuxt服务

引言:需要准备一台云服务器(本人是centos 7.6) + nuxt项目

第一步打包nuxt项目

  • 在项目的根目录下,执行打包命令
    npm run build 或者你自定义的各种环境的打包命令npm run xxx
    我这里是分环境了
    在云服务器上部署nuxt服务端渲染服务(亲测线上)_第1张图片

打包完毕得到最新的.nuxt包

将部署nuxt需要的服务进行上传到服务器中

  • 一般nuxt项目进行部署需要四个文件(夹):.nuxt、static 、nuxt.config.js、package.json

注意:.nuxt文件是以.开头的,属于隐藏文件,mac电脑快捷键shift+command+. 可以显示出隐藏文件;windows的话查看文件夹选项,勾上显示隐藏文件

  • 由于我们的项目在nuxt.config.js中手动依赖的其他文件,在打包过程中不会进行打包,所以需要把手动依赖的文件也要上传到服务器中
    在云服务器上部署nuxt服务端渲染服务(亲测线上)_第2张图片
    nuxt.config.js中引入env(env环境变量配置)
    在云服务器上部署nuxt服务端渲染服务(亲测线上)_第3张图片
  • 将以上的文件都需要上传到服务器上的某个文件夹下,我用的上传服务器用的可视化ssl连接工具(mac可以用finalShell,windows可以使用XShell,也可以登录云服务器的网页端的shell),并且在服务中切换至相应的目录,执行npm install

    注意:服务器上得提前有相应的node环境,一般需要与本地的开发node版本一致。
  • 没有node的话可以通过yum install nodejs yum install npm(yum安装nodejs不会带npm),安装指定版本的node,可以通过n模块安装npm install -g n
    这是我的版本
    在云服务器上部署nuxt服务端渲染服务(亲测线上)_第4张图片

测试是否可以访问

  • 首先进入文件目录,启动打包后的文件 npm run start 或者自定义的命令,端口号可以自己设置,默认3000
  • 注意一点需要在云服务器的控制台中的安全组放通TCP:3000 端口
  • 打开一个新窗口。下载yum install curl,测试是否可以访问
# 如果说响应了html代码,就代表成功
curl http://loaclhost:3000/

在云服务器上部署nuxt服务端渲染服务(亲测线上)_第5张图片

利用pm2 守护服务

  • 先下载pm2 npm install -g pm2
  • 进入当前项目目录,运行以下命令
pm2 start --name 服务的名字 -- run start-test
# 注意:run前面有空格
# run后面是package.json中的执行脚本命令。例如npm run start,那么你就写-- run start,这里我是test环境所以我配置了一个测试环境的命令

在这里插入图片描述

  • 查看进程 ps -ef | grep node在这里插入图片描述
    在这里插入图片描述
    也成功跑在了8888端口.可以直接用ip+端口访问

最后可以用nginx域名代理

  • 不会安装nginx的话。nginx安装使用,按照提示一步一步来就ok
  • 在域名DNS解析出一个子域名出来或者主域名也可以,将记录值改成服务器的公网ip(有条件的内网地址也可以)
  • 接下来就是配置nginx.conf了
   server {
        listen    80;
        server_name   域名地址;
        location / {
	  		proxy_pass http://127.0.0.1:8888;
       }
   }    
  • 上面是http服务。配置完毕后重启nginx -s reload

没问题了,finally

你可能感兴趣的:(Nuxt服务端渲染,服务器,npm,node.js,linux)