Nuxt - Nuxt打包和部署

版权声明:写文章辛苦,请不要复制粘贴,如果要,请注明来处 https://blog.csdn.net/u012627861/article/details/87888493

背景

为了能够支持SEO,喜欢Vue的同学可能会使用Nuxt框架,本人通过实践,记录Nuxt的打包和部署中的一些问题
环境:阿里云 Linux CentOS 7.6
项目:Nuxt + Vuex + Express

打包

在项目中执行命令

npm run build

完成后拷贝以下内容到新的目录中
在这里插入图片描述
说明

  • .nuxt目录是Nuxt框架将前后端内容结合以后产生的,所以这个需要被纳入
  • nuxt.config.js文件是Nuxt框架的配置文件,所以这个需要被纳入
  • package.json文件包含了依赖配置和脚本命令配置等内容,用于npm执行命令和下载依赖,所以这个需要被纳入
  • server目录是Web服务器启动的内容,目录中包含index.js是Web服务器的启动文件,所以这个需要被纳入
  • static目录默认解析为域名/,这些内容如robots.txt是不会被打包进.nuxt目录下的,这些都是静态资源,所以这个需要被纳入

部署

我这里部署使用的是阿里云的CentOS 7.6,需要在服务器上安装node(node安装后自带npm),安装步骤可以参阅《Node - 安装Node和NPM(Mac, Linux)》

  1. node安装完成后,将打包好的内容上传至服务器,上传可以采用lrzsz,vsftpd等工具
  2. 上传完成后,进入项目目录,运行npm install,下载依赖
  3. 依赖下载完成后,运行npm start启动即可,当然这么启动程序通过Ctrl + C后服务就会终止,可以采用nohup npm start &来启动程序

修改端口
打开package.json,找到scripts下的start,增加PORT=<端口号>即可,如下
在这里插入图片描述

关闭程序

运行命令ps -ef|grep node
可以看到有三条进程,其中有两条进程的指令为node xxx/.../index.js
杀掉node server/index.js的这项进程即可,假定pid为1110(pid为第二列)
则执行命令kill -9 1110即可

问题

项目启动后外网无法访问
描述:项目成功启动,通过curl localhost:3000可以正确访问,但通过外网无法访问(阿里云已配置安全规则,打开了3000端口)
项目使用的是Express Web服务器,我不确定是这个服务器只允许本地访问还是有其他配置,反正各种尝试后都不能实现外网访问,最后通过增加nginx代理来实现外网访问。通过yum install nginx -y安装nginx,在/etc/nginx/conf.d目录下新增.conf文件,内容如下:

server {
    listen 80;
    server_name <domain>;
    location / {
        proxy_pass http://localhost:3000; # 这里为项目端口
    }
}

(完)

猜你喜欢

转载自blog.csdn.net/u012627861/article/details/87888493
今日推荐