Nuxt3部署

article/2025/6/27 22:42:49

最近接了一个项目,需要用到 nuxt3 技术来满足甲方所要求的需求,在部署的时候遇到了很多问题,这里我一一给大家讲述部署流程,以及所遇到的坑

打包部署

部署分为俩种方式:

静态(spa)部署ssr部署

静态部署

静态部署指的是打包后 只包含静态的 html,css,js文件,对于seo不友好,部署之后和vue3项目部署没什么很大的差别

在终端输入命令:

npx nuxi generate

生成 dist 文件夹,可直接把dist文件夹放入到服务器上,即可访问,可参考我过往的这篇文章:

vue3部署全流程https://blog.csdn.net/lxh0113/article/details/142858608?spm=1001.2014.3001.5501

ssr部署

打包

ssr部署在部署后,页面有利于seo,所有的dom元素都能被检索到

可以执行

nuxt build

也可以修改 package.json 文件:

在终端输入

pnpm  build
#或者
npm run build

这样子就打包好了,内容会在这个 .output 目录下

安装node和npm

首先需要在服务器上安装 node 和 npm 以及 nginx

可参考该文章

Linux环境安装配置nodejs详细教程_linux安装nodejs-CSDN博客https://blog.csdn.net/qq_40743057/article/details/139139574

安装好后

可使用 xftp 上传文件到(我上传的是 /root/usr)目录

上传该目录,但是由于该文件前缀字符是 . 需要在设置里面选择显示隐藏文件夹

并在该目录下,上传一个 ecosystem.config.cjs(可在本地新建,然后写入内容,进行修改)

在官方给出的配置上,我加了俩行代码,一个是 error_files 和 out_file 这俩个在后续部署很有用,因为部署难免会出现很多错误,但是生产环境难以看到错误在哪里,浏览器下面检查也无法固定到错误问题,这个就能让我们定位到相关错误代码的位置,并去解决问题,它输出的文件在上图有所展示。

module.exports = {apps: [{name: 'demo', exec_mode: 'cluster',instances: 'max', port: '3000',script: './.output/server/index.mjs',args: 'start',error_file: './err.log', // 错误日志存放地址out_file: './out.log', // 输出日志存放地址}]
}

pm2配置

上传完毕之后,我们需要安装pm2

安装pm2 是因为需要该 ssr 渲染 ,是实实在在开了一个服务器,所以需要进程管理,有了pm2后,可以对该服务器进行更好的设置,也不会因为服务器掉线而导致网站失效

安装pm2

npm install pm2 -g
#或者
pnpm install pm2 -g

然后在 /root/usr 目录下,执行

pm2 start ecosystem.config.cjs

 会出现如下图,这个name指的是 你的 ecosystem.config.cjs 中的name字段,可修改

 

常用命令
保存服务
pm2 save
开机自启(操作系统开机自启)
pm2 startup
停止进程
pm2 stop demo #你的进程名字
 删除进程
pm2 delete demo#你的进程名字

另外一种部署:

这个部署需要把 .nuxt nuxt.config.ts package,json 和 public 文件夹 都上传到 服务器。不太推荐该方式,因为该方式有一些弊端:

是因为node_modules文件+public文件内存大小远大于上面方法的.output文件,过多占用服务器内存,其次在下载安装依赖包生成node_modules文件过程中,可能因为环境问题出现下载速度过慢卡顿,兼容报错等问题

最好新建一个文件夹,然后把这几个文件夹放在一个文件夹内,然后在 该文件夹下的目录下执行

安装依赖

pnpm i
#或者
npm install

 然后也可以进行pm2配置,如上述步骤是一样的。

错误日志查看:

配置好如上信息后,如若遇到报错,需要查看报错信息,打开 /root/usr 目录下的

就可以查看错误了:

 配置nginx

这一步也十分重要,如何安装nginx在我上面提到的 vue3 部署有说哦

安装好nginx后

我们在 nginx.conf 中给到如下内容(因为我们本地的项目服务端口是3000,所以转发到3000端口即可,如果你的端口不一样,也可以修改端口)

server {listen       80;listen       [::]:80;#index index.html;#try_files $uri $uri/ /index.html;server_name  localhost;#root         /root/usr/dist;# Load configuration files for the default server block.location / {proxy_pass http://localhost:3000;}error_page 404 /404.html;location = /404.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}

最后执行 nginx -s reload 即可 

踩坑记录:

问题一

我之前遇到了这种情况,就是在打包的时候一直报错,导致无法打包,具体原因是因为这里面的依赖出现了冲突导致打包出现了问题

翻遍了github 尝试了相关解决办法,依旧没有,后面在大佬的建议下是重开了项目,把nuxt版本升到了最高级,然后安装依赖也是按照这个来安装的,网上的安装相关插件多多少少都可能有些问题,看官方的示例会更好。

Nuxt 模块 - Nuxt 中文文档

问题二

后面打包是没问题了,但是在部署的时候还是出现了问题。部署之后,在生产环境是无法知道错误的,所以这个时候就需要错误日志了,

也是尝试了很多办法,最后这个解决方法解决了我的问题

 在nuxt.config.ts 下

build: {transpile: ["vue-router", "@vue/devtools-api"]},

然后完结撒花!!!


http://www.hkcw.cn/article/GTTyHOYWRF.shtml

相关文章

审计- 3- 风险评估:内部控制

1了解被审计单位及其环境 注册会计师应当实施风险评估程序,以了解被审计单位以及环境,从以下几个方面了解: 1.行业状况、法律环境与监管环境以及其他外部因素2.被审计单位的性质 1 所有权结构; 2 治理结构; 3 组织结构…

是否允诺伊朗保留铀浓缩活动?美国再出“罗生门”

当地时间6月2日,据美国阿克西奥斯新闻网报道,有两名知情人士透露,美国5月31日向伊朗提出的核协议提议允许伊朗在一段待定的时间内进行有限的低浓度铀浓缩。这与美高层官员的公开声明相矛盾,此前,美国中东问题特使威特科夫和国务卿鲁比奥已公开表示,美国不会允许伊朗进行铀…

吸引樊振东加盟的德国小城有何魅力 乒坛新焦点

德国小城萨尔布吕肯迎来历史性狂欢。乒乓球大满贯得主樊振东宣布加盟后,萨尔布吕肯乒乓球俱乐部在欧洲乒联冠军联赛男团决赛中以3比1击败杜塞尔多夫,第三次赢得欧冠冠军奖杯。这双重喜讯让这座德法边境小城成为全球乒坛焦点。俱乐部经理和身边好友都表示,樊振东主动加盟俱乐…

工作人员回应漫展上2女童被指衣着暴露 已及时制止并要求更换服装

6月2日,有网友称在中山漫展现场看到两名女童穿着暴露且成人化的服装,并有付费直播等活动。从网传的现场图片中可以看到,在一处临时搭建的简易摄影场地前,两名女童身着连体紧身服,脚上还套有半截丝袜。微信公众号“中山博览中心”于5月27日发布文章介绍,“2025中山AS24端午…

oscp练习 PG Wombo

端口扫描 sudo nmap -Pn -n 192.168.125.69 -sU --top-ports100 --reason22/tcp open ssh OpenSSH 7.4p1 Debian 10deb9u7 (protocol 2.0) | ssh-hostkey: | 2048 09:80:39:ef:3f:61:a8:d9:e6:fb:04:94:23:c9:ef:a8 (RSA) | 256 83:f8:6f:50:7a:62:05:aa:15:…

多维度健康护理:为进行性核上性麻痹患者护航

进行性核上性麻痹(PSP)是一种罕见的神经系统退行性疾病,主要影响患者的运动、平衡及吞咽等功能。针对 PSP 患者的健康护理,需从多个维度进行精细化管理,以提升患者生活质量。 在日常生活护理中,因患者存在平…

AI助力软件开发 – 豆包+Trae CN开发体验

陈拓 2025/5/30-2025/5/31 1. 概述 1.1 在AI的辅助下怎样快速开发一个软件原型? 在 豆包(智能助手) 和 Trae CN(低代码开发平台) 的协同辅助下,开发软件原型的流程将更加高效自动化。 怎样使用“豆包 T…

OpenWrt 搭建 samba 服务器的方法并解决 Windows 不允许访问匿名服务器的方法

文章目录 一、安装所需要的软件二、配置自动挂载三、配置 Samba 服务器四、配置 Samba 访问用户和密码(可选)新建 Samba 专门的用户添加无密码的 Samba 账户使用root账户 五、解决 Windows 无法匿名访问Samba方案一 配置无密码的Samba账户并启用匿名访问…

ChatOn:智能AI聊天助手,开启高效互动新时代

在当今快节奏的生活中,无论是工作、学习还是日常交流,我们常常需要快速获取信息、整理思路并高效完成任务。ChatOn 正是为满足这些需求而生,它基于先进的 ChatGPT 和 GPT-4o 技术,为用户提供市场上最优秀的中文 AI 聊天机器人。这…

java 多线程

1.创建方式一&#xff1a;继承Thread类来实现 package day04;public class thread_learn {//main方法是主线程public static void main(String[] args) {//4.创建线程对象MyThread t1new MyThread();//5.启动线程,还是调run方法执行的t1.start();for (int i 0; i < 5; i) {…

模型评估相关问题

模型评估相关 评估指标相关AUC的概念&#xff0c;计算过程&#xff1f;除了auc还有什么度量排序结果的指标特异度&#xff08;Specificity&#xff09;F1 scoreKL散度的概念 评估指标相关 AUC的概念&#xff0c;计算过程&#xff1f;除了auc还有什么度量排序结果的指标 AUC&a…

深度剖析:AI 建站的现状、局限与未来展望-AI编程建站实战系列预告优雅草卓伊凡

深度剖析&#xff1a;AI 建站的现状、局限与未来展望-AI编程建站实战系列预告优雅草卓伊凡 在当下科技飞速发展的时代&#xff0c;AI 技术如同一颗璀璨的星辰&#xff0c;在各个领域熠熠生辉&#xff0c;建站领域亦深受其影响。不少人产生了一种错觉&#xff0c;认为 AI 建站已…

审计- 1- 审计概述

1.财务报表审计的概念 财务报表审计是指注册会计师对财务报表是否不存在重大错报提供合理保证&#xff0c;以积极方式提出意见&#xff0c;增强除管理层之外的预期使用者对财务报表信赖的程度。 1.1 审计业务三方关系人 注册会计师对财务报表发表审计意见是注册会计师的责任管…

阿里云服务器-解决宝塔登录不成功

出现问题&#xff1a; This site can’t be reached XX.XX.XXX.XXX took too long to respond. Try: Checking the connection Checking the proxy and the firewall Running Windows Network Diagnostics ERR_CONNECTION_TIMED_OUT 可能是端口未开放 原因&#xff1a;服务器…

机器学习算法:逻辑回归

1. 基础概念 定义&#xff1a; 逻辑回归&#xff08;Logistic Regression&#xff09;是一种用于解决二分类问题的监督学习算法&#xff0c;通过概率预测样本属于某一类别的可能性。 核心特点&#xff1a;输出是概率值&#xff08;0~1&#xff09;&#xff0c;通过阈值&#…

交警系统“新基建”启示录:数据库一体化承载平台从破解困局到筑牢底座

前言 清晨7点&#xff0c;某市主干道的早高峰车流中&#xff0c;一辆套牌车刚刚驶过路口&#xff0c;指挥中心的预警信息已同步推送至执勤民警的警务终端。3分钟后&#xff0c;这辆违法车辆被精准拦截——这一场景的实现&#xff0c;得益于该市交警支队近期完成的核心数据库系统…

Jmeter逻辑控制器、定时器

目录 一、Jmeter逻辑控制器 ①IF(如果)控制器 作用&#xff1a; 位置&#xff1a; 参数介绍&#xff1a; 步骤&#xff1a; ②循环控制器 作用&#xff1a; 位置&#xff1a; 步骤&#xff1a; 线程组属性VS循环控制器 ③ForEach控制器 作用&#xff1a; 位置&am…

PH热榜 | 2025-06-01

1. Zown 标语&#xff1a;人工智能驱动的购房平台 介绍&#xff1a;Zown是唯一一个利用人工智能技术提供全面购房服务的平台。它自动完成 affordability&#xff08;购房能力&#xff09;审核、预批准、智能房源推荐和出价预测等步骤。在这个过程中&#xff0c;您可以将最多达…

NPM前端高频面试题解析

文章目录 基础概念篇使用技巧篇高级应用篇工程化篇安全与优化篇综合实战篇 基础概念篇 什么是NPM&#xff1f;它的主要作用是什么&#xff1f; 解析&#xff1a;NPM(Node Package Manager)是Node.js的包管理工具&#xff0c;用于安装、共享和管理JavaScript依赖。主要作用包括&…

电脑桌面便签软件哪个好?桌面好用便签备忘录推荐

在日常办公中&#xff0c;一款优秀的桌面便签工具能显著提升工作效率。面对市面上琳琅满目的选择&#xff0c;不少用户都难以抉择。如果你正在寻找一款兼具轻量化与多功能性的便签软件&#xff0c;那么集实用性与便捷性于一身的"好用便签"&#xff0c;或许就是你的理…