当前位置: 首页 > news >正文

Linux部署nuxt3

最近写了一个项目,需要打包部署,过程还是比较繁琐的,因为需要先配置运行环境。准备采用 pm2 管理项目运行,需要在服务器安装 pm2,而安装 pm2 的话用 npm 命令最方便,所以还要下载 node 环境。那么,就让我们一步步的完成 Nuxt3 项目上传的完整过程吧。开发环境是Window,部署环境是Linux。开发工具为VSCode,部署服务器为centos。

  • 1. 服务器安装 nodejs 环境
  • 2. 安装Nuxt3的运行管理工具 pm2
  • 3. 打包Nuxt3项目并上传到服务器
  • 4. 配置ecosystem.config.js文件
  • 5. 使用pm2启动Nuxt3项目
  • 6. 常用pm2命令

一. 服务器安装 nodejs 环境

1. 下载安装包

# 随便找个地方
wget https://nodejs.org/dist/latest-v14.x/node-v14.21.2-linux-x64.tar.gz

注意我这里下载的是14版本的,一开始我按照最高版本,但是提示报错,报错如下,换低的版本就可以了

/lib64/libm.so.6: version `GLIBC_2.27‘ not found (required by node)


2. 建一个nodejs文件夹进入解压并放入当前目录

# 解压到当前文件夹
tar -zxvf node-v18.12.0-linux-x64.tar.gz
# 将解压文件夹里面的内容移动到指定文件路径,便于自己识别管理
mv node-v18.12.0-linux-x64 /usr/local/node


3. 配置环境变量

vim /etc/profile
# 末尾添加如下几行
# nodejs环境
export NODEJS=/usr/local/node
export PATH=$NODEJS/bin:$PATH# 重新加载配置
source /etc/profile# 进入/usr/local/node/bin查看版本
cd /usr/local/node/bin
node -v


4. 建立软链接(配置全局可用node命令)(我的不需要这个步骤)

cd /usr/bin
ln -s /usr/local/node/bin/node node
ln -s /usr/local/node/bin/npm npm

5. 配置淘宝镜像

npm config set registry https://registry.npmmirror.com/

6. 查看是否切换成功

npm config get registry

二. 安装Nuxt3的运行管理工具 pm2

npm install pm2 -g 

3. 打包Nuxt3项目并上传到服务器

1. 打包

yarn build 
// or 
npm run build

2. 上传服务器

生成一个 .oupput 的文件夹, 里面包含 public 文件夹、 server 文件夹和 nitro.json。 public 下面主要放一些静态资源文件,server 下的 index.js 就是我们的启动入口文件。 我们要做的事情是: 把 .output 里面的所有文件放在服务器上的新建项目里面,我新建了一个 nuxt3-app 文件夹做演示。(当然你也可以直接把 .output 放进去)

3. 配置ecosystem.config.js文件

按照官方提示,要使用 pm2 管理运行项目的话,需要在根目录下配置 ecosystem.config.js 文件(官方说明)

新建一个ecosystem.config.js,放到项目的根目录

module.exports = {apps: [{name: '你的nuxt项目名',exec_mode: 'cluster',instances: 'max',// 注意这里的相对路径。要访问到index.mjs就行了,如果你是整个.output一起放在服务器的话就和官方一样路写成./.output/server/index.mjs就好了script: './server/index.mjs',env: {NITRO_PORT: 3000}}]
}

四. 使用pm2启动Nuxt3项目

1. 直接在根目录下面执行命令

pm2 start ecosystem.config.js
# 然后使用下边的命令看一下启动的服务列表
pm2 list

online说明启动成功,这时候在浏览器看一下自己项目,可以正常访问。默认是3000端口

如,你的ip:3000

如果访问不了,请查看防火墙3000端口是否启动,如果启动了还是访问不了,看是否是因为加了这行导致的,

NITRO_HOST: '127.0.0.1' #我一开始加了这行,一直不成功,直到去掉才行

module.exports = {apps: [{name: 'NuxtAppName',exec_mode: 'cluster',instances: 'max',script: './server/index.mjs',env: {NITRO_PORT: 3001,NITRO_HOST: '127.0.0.1' #我一开始加了这行,一直不成功,直到去掉才行}}]
}

2. 设置自动重启

pm2 startup
[root@iZwz9d9v06uh0jnrexcuk9Z nuxt3-app]# pm2 startup
[PM2] Init System found: systemd
Platform systemd
Template
[Unit]
Description=PM2 process manager
Documentation=https://pm2.keymetrics.io/
After=network.target[Service]
Type=forking
User=root
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Environment=PATH=/usr/local/node/bin:/usr/java/jdk1.8.0_281/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Environment=PM2_HOME=/root/.pm2
PIDFile=/root/.pm2/pm2.pid
Restart=on-failureExecStart=/usr/local/node/lib/node_modules/pm2/bin/pm2 resurrect
ExecReload=/usr/local/node/lib/node_modules/pm2/bin/pm2 reload all
ExecStop=/usr/local/node/lib/node_modules/pm2/bin/pm2 kill[Install]
WantedBy=multi-user.targetTarget path
/etc/systemd/system/pm2-root.service
Command list
[ 'systemctl enable pm2-root' ]
[PM2] Writing init configuration in /etc/systemd/system/pm2-root.service
[PM2] Making script booting at startup...
[PM2] [-] Executing: systemctl enable pm2-root...
[PM2] [v] Command successfully executed.
+---------------------------------------+
[PM2] Freeze a process list on reboot via:
$ pm2 save[PM2] Remove init script via:
$ pm2 unstartup systemd
[root@iZwz9d9v06uh0jnrexcuk9Z nuxt3-app]# 

3. 查看服务状态

pm2 list

4. 常用pm2命令

命令    用途
pm2 list    查看启动的服务列表
pm2 show id号    查看对应id号的详细服务情况
pm2 start name(服务名)    启动服务
pm2 stop name(服务名)    终止服务
pm2 restart name(服务名)    重启服务
pm2 delete name(服务名)    删除服务
pm2 kill name(服务名)    杀死服务
pm2 logs name(服务名)    查看服务执行日志
pm2 logs name(服务名)    查看服务日志

参考文章:

Nuxt3打包部署到Linux(node+pm2详细安装运行步骤)_白忆宇的博客-CSDN博客

[Day 30] Nuxt 3 就剩最後一步了 - 部署 (Deployment) - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天

/lib64/libm.so.6: version `GLIBC_2.27‘ not found (required by node)_node: /lib64/libm.so.6: version `glibc_2.27' not f_市井榴芒的博客-CSDN博客

相关文章:

Linux部署nuxt3

最近写了一个项目,需要打包部署,过程还是比较繁琐的,因为需要先配置运行环境。准备采用 pm2 管理项目运行,需要在服务器安装 pm2,而安装 pm2 的话用 npm 命令最方便,所以还要下载 node 环境。那么&#xff…...

鸟哥的Linux私房菜读书笔记:文件系统的简单操作

磁盘与目录的容量 现在我们知道磁盘的整体数据实在superblock区块中,但是每个个别文件的容量则在inode当中记载的. 那在命令行下面该如何显示处这几个数据呢? df:列出文件系统的整体磁盘书用量du:评估文件系统的磁盘使用量(常用在推估目录所占容量)df先来说明一下范例一所输…...

论如何用python自动下载爱的妹子视频~嘿嘿嘿~

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 现在好看的妹子真的太多啦~ 如何一次性把这些好看的视频全保存下来捏? 开发环境: 版 本: python 3.8 编辑器: pycharm 2022.3.2 专业版 requests >>> pip install request…...

传奇GOM引擎配置PAK密码补丁教程

因为我很少接触GOM引擎,所有很晚才知道PAK密码的事情,以前经常在群里或者QQ上有人问站长,说补丁有PAK密码怎么办,我起初不在意,限制发现是一个大问题,好吧,今天借助这篇文章,分享一下…...

邀您参赛!DCIC 2023「科技金融欺诈风险识别」算法赛正在报名中

近年来,跨境赌博、电信网络诈骗、黑产等外部欺诈违法犯罪形势日益严峻,呈现线上化、产业化、团伙化等特征,国家、监管机构及银行自身都高度重视反欺诈治理工作,坚决守护人民群众的财产安全。 为进一步打击外部欺诈违法犯罪行为&am…...

ElasticSearch-学习笔记04【Java客户端操作索引库】

Java后端-学习路线-笔记汇总表【黑马程序员】ElasticSearch-学习笔记01【ElasticSearch基本介绍】【day01】ElasticSearch-学习笔记02【ElasticSearch索引库维护】ElasticSearch-学习笔记03【ElasticSearch集群】ElasticSearch-学习笔记04【Java客户端操作索引库】【day02】Ela…...

低代码开发平台|制造管理-工艺工序搭建指南

1、简介1.1、案例简介本文将介绍,如何搭建制造管理-工艺工序。1.2、应用场景先填充工序信息,再设置工艺路线对应的工序;工序信息及工艺路线列表报表展示的是所有工序、工艺路线信息,可进行新增对应数据的操作。2、设置方法2.1、表…...

Window 安装 Docker

1.开启Hyper-v 2.确定后重启 3.双击安装包进行安装 4.安装完后系统重启 5.打开Docker软件提示:按下图操作后重启Docker 6.设置docker镜像仓库 { “experimental”: false, “features”: { “buildkit”: true }, “registry-mirrors”: [ “https://docker.mirr…...

最近很火的一部电视(狂飙)像安欣和高启强这样类型的人,谁更合适做软件测试工程师

狂飙》央视收视率狂飙。央视发布《狂飙》收视成绩,全剧平均收视1.54%,平均收视份额6.99%,单集最高收视率2.20%,单集最高收视份额10.69%;晚间电视剧类节目第一。可以说还部剧为今年开了个好头,一开年就引爆收…...

LSTM已死,Transformer当立(LSTM is dead. Long Live Transformers! ):上

回想一下在Seq2seq模型中,如何使用Attention。这里简要回顾一下【1】介绍的方法2(并以此为基础展开对Transformer的讨论)。 下图中包含一个encoder(左)和一个decoder(右)。对于decoder来说,给定一个输入,得到输出,如何进一步得到context vector 呢? 我们需要根据和…...

今天面试招了个18K的人,从腾讯出来的果然都有两把刷子···

公司前段时间缺人,也面了不少测试,前面一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资在15-20k,面试的人很多,但平均水平很让人失望。看简历很多都是4年工作经验,但面试中,不…...

洛谷 P5764 [CQOI2005]新年好

P5764 [CQOI2005]新年好 题目描述 重庆城里有 nnn 个车站,mmm 条双向公路连接其中的某些车站。每两个车站最多用一条公路连接,从任何一个车站出发都可以经过一条或者多条公路到达其他车站,但不同的路径需要花费的时间可能不同。在一条路径上…...

【自然语言处理】主题建模:BERTopic(实战篇)

主题建模:BERTopic(实战篇)BERTopic 是基于深度学习的一种主题建模方法。201820182018 年底,Devlinetal.Devlin\ et\ al.Devlin et al. 提出了 Bidirectional Encoder Representations from Transformers (BERT)[1]^{[1]}[1]。BER…...

k8s学习笔记

目录 一、安装前准备 二、安装 1、安装kubelet、kubeadm、kubectl 2、使用kubeadm引导集群 1、下载各个机器需要的镜像 2、初始化主节点 3、加入node节点 3、部署dashboard 1、主节点安装 2、设置访问端口 3、创建访问账号 4、令牌访问获取token 三、实战 1、资源创…...

web自动化测试入门篇05——元素定位的配置管理

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。…...

C语言预处理

文章目录 目录 文章目录 前言 一、程序编译的过程 二、编译阶段 1.预处理(*.i) 2.编译(*.s) 3.汇编(*.o) 4.链接 总结 前言 提示:使用vs code(gcc编译器)与vs2022来演示c语言的预处理 提示:以下是本篇文章正文内容,下面…...

git报错大全,你将要踩的坑我都帮你踩了系列

使用git push -u origin master报下面的错: 使用git push -u origin master报下面的错: Updates were rejected because the remote contains work that you do not have locally,This is usually caused by another repository pushing to …...

LabVIEW中使用.NET方法时出现错误1316

LabVIEW中使用.NET方法时出现错误1316为什么不能调用带有泛型参数的方法?LabVIEW不支持哪些.NET功能?为什么会收到以下错误:发生此错误的原因是正在调用LabVIEW中不支持的.NET功能。有关解决方法,请参阅“其他信息”部分。可以在下…...

HTTP2.0 相比 HTTP1.0、HTTP1.1 有哪些重大改进?值得升级更换吗?

目录 HTTP1.0 HTTP1.1 HTTP2.0 主要特性对比 HTTP发展历史 HTTP2解决的问题 HTTP1.0 HTTP1.1 HTTP2.0...

九、Linux文件 - fopen函数和fclose函数讲解

目录 1.fopen函数 2.fclose函数 3.fopen函数和fclose实战 1.fopen函数 fopen fwrite fread fclose ...属于标准C库 include <stdio.h> standard io lib open close write read 属于Linux系统调用 可移植型&#xff1a;fopen > open&#xff08;open函数只在嵌入…...

轨迹预测算法vectorNet调研报告

前言 传统的行为预测方法是规则的&#xff0c;基于道路结构的约束生成多个行为假设。最近&#xff0c;很多基于学习的预测方法被提出。他们提出了对于不同行为假设的进行概率解释的好处&#xff0c;但是需要重构一个新的表示来编码地图和轨迹信息。有趣的是&#xff0c;虽然高精…...

基于STM32设计的避障寻迹小车

一、前言 1.1 项目背景 根据美国玩具协会在一项研究中&#xff0c;过去几年全球玩具销售增长与GDP的世界平均水平大致相同。但全球玩具市场的内部结构已经占据了巨大的位置变化&#xff1a;传统玩具的市场份额正在下降&#xff0c;高科技电子玩具正在蓬勃发展。全球玩具市场的…...

【视觉检测】使用opencv编写一个图片缺陷检测流程

1. 导入必要的库&#xff0c;如OpenCV&#xff0c;NumPy等。 2. 使用OpenCV读取图像&#xff0c;并将其转换为灰度图像。 3. 使用OpenCV的Canny边缘检测算法检测图像中的边缘。 4. 使用OpenCV的Hough变换算法检测图像中的线条。 5. 使用OpenCV的模板匹配算法检测图像中的缺…...

3.Dockerfile 定制镜像

3. Dockerfile 定制镜像 从上一节的docker commit的学习中&#xff0c;我们可以了解到&#xff0c;镜像的定制实际上就是定制每一层所添加的配置、文件等信息&#xff0c;但是命令毕竟只是命令&#xff0c;每次定制都得去重复执行这个命令&#xff0c;而且还不够直观&#xff…...

Web基础与HTTP协议

Web基础与HTTP协议一、Web基础与HTTP概述1、域名概念二、域名服务与域名注册1、域名定义2、域名服务三、网页访问&#xff08;http、https&#xff09;1、网页概述2、网页的基本标签四、Web1、Web概述2、Web1.0 Web2.0五、HTTP协议概述1、HTTP协议简介2、HTTP协议请求总结一、W…...

【化学试剂】endo-BCN-PEG4-Pomalidomide,(1R,8S,9S)-双环[6.1.0]壬-四聚乙二醇-泊马度胺纯度95%+

一、基础产品数据&#xff08;Basic Product Data&#xff09;&#xff1a;CAS号&#xff1a;N/A中文名&#xff1a;(1R,8S,9S)-双环[6.1.0]壬-四聚乙二醇-泊马度胺英文名&#xff1a;endo-BCN-PEG4-Pomalidomide二、详细产品数据&#xff08;Detailed Product Data&#xff09…...

全板电镀与图形电镀,到底有什么区别?

衔接上文&#xff0c;继续为朋友们分享普通单双面板的生产工艺流程。 如图&#xff0c;第四道主流程为电镀。 电镀的目的为&#xff1a; 适当地加厚孔内与板面的铜厚&#xff0c;使孔金属化&#xff0c;从而实现层间互连。 至于其子流程&#xff0c;可以说是非常简单&#x…...

Zabbix 构建监控告警平台(二)--

Apache监控示例&#xff08;图形监控&#xff09;模板TemplateZabbix Items 1.Apache监控示例&#xff08;图形监控&#xff09; 1.1创建主机组 在“配置”->“主机群组”->“创建主机群组” 填入组名“webserver_test” 创建完成之后可以在“配置”->"主机群组&…...

开学季,关于校园防诈骗宣传,如何组织一场微信线上答题考试

开学季&#xff0c;关于校园防诈骗宣传&#xff0c;如何组织一场微信线上答题考试如何组织一场微信线上答题考试在线考试是一种非常节约成本的考试方式&#xff0c;考生通过微信扫码即可参加培训考试&#xff0c;不受时间、空间的限制&#xff0c;近几年越来越受企事业单位以及…...

蓝牙单点技术实现路径介绍

本文主要介绍蓝牙设备与手机一对一相连的 蓝牙单点 技术。 准备工作 系统要求&#xff1a;蓝牙使用需要安卓 4.3 以及以上版本&#xff0c;智能生活 App SDK 从安卓 4.4 开始支持。Manifest 权限&#xff1a; <uses-permission android:name"android.permission.ACCE…...

如何解析到凡科建设的网站/国际新闻快报

// -------------------- UISlider (滑块控件 是一个滑杆 存放着一系列的值) // UISlider *slider [[UISlider alloc]initWithFrame:CGRectMake(30, 100, 300, 30)]; // 设置滑块的显示图片 [slider setThumbImage:[UIImage imageNamed:"1.png"] forSta…...

无锡seo网站管理/扬州网络推广哪家好

Samba原理和配置 个人原创&#xff0c;转载请注明&#xff0c;否则追究法律责任。 一,原理及安装 1&#xff0c;Samba是在Linux和UNIX系统上实现在局域网上共享文件一种通信协议&#xff0c;它为局域网内的不同计算机之间提供文件等资源的共享服务。 2&#xff0c;Samba访问…...

网站如何做企业电子宣传册/产品营销网站建设

1、 数据库建表如何加密&#xff1a;采用哈希函数散列的方式将密码进行加密&#xff0c;此过程不可逆. 插入数据&#xff1a; --创建表&#xff1b; ----用户表&#xff1b; CREATE TABLE tb_User (No CHAR(10) NOT NULL PRIMARY KEY ,Password VARBINARY(128) NOT …...

wordpress隐私提示/企业推广宣传方式

在使用MyBatis插入数据进入数据库的时候会用到sequence序列来生成自增的id 这时可以使用selectKey就可以得到sequence的值&#xff0c;同时也会将值返回。不过对于不同的数据库有不同的操作方式。 oracle&#xff1a; < insert id“insertTeacher” parameterClass“map”&g…...

深圳建站公司优化/黄石市seo关键词优化怎么做

由于项目中大量用到了DataSet之类的东西&#xff0c;而vs2003下没有什么好用的查看工具&#xff0c;在网上查相关工具的时候&#xff0c;发现Codeproject上有两个比较合适的工具&#xff0c;其中又以http://www.codeproject.com/csharp/DataSetQuickWatchExt.asp的作法最为理想…...

海外网站服务器网址/中国500强最新排名

异或运算法则   1. a ^ b b ^ a 2. a ^ b ^ c a ^ (b ^ c) (a ^ b) ^ c; 3. d a ^ b ^ c 可以推出 a d ^ b ^ c. 4. a ^ b ^ a b. 异或运算 1、异或是一个数学运算符。应用于逻辑运算。 2、例如&#xff1a;真异或假的结果是真&#xff0c;假异或真的结果也是真&#x…...