关于node全栈项目打包发布linux项目问题总集
1.用pm2部署nest
说明:如果一开始将nest直接打包放到linux服务器上用pm2执行则会报错,这是因为tsconfig.build.tsbuildinfo文件的路径以及相关依赖问题。
报错会为:什么东西找不到....
所以建议以下为步骤一步一步配置
- 将整个nest添加压缩包直接传到的root中的任何一个目录中,在linux中解压
- 进入nest的项目文件用npm run build进行打包
- 此时需要下载好pm2进程管理器
- 直接pm2 start main.js运行后端项目
- 此时为了验证后端项目是否正常启动成功 可以在win上的浏览器缩编输入一个后端的get接口来验证
2.安装nginx
因为某些linux服务器为了兼容一些特定的项目使用的老的版本的linux系统,比如我此时用的就是centOS7,因为centOS7在2024年的6月份就把此linux版本的yum源镜像归档了,所以会导致我们在使用yum源来下载一些工具的时候会出现yum报错的现象。此时别慌,可以按照以下步骤操作!
报错信息如:
Loading mirror speeds from cached hostfile Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"
解决方法
- 进入/etc/yum.repos.d目录下找到 CentOS-Base.repo
- cd /etc/yum.repos.d

- cp CentOS-Base.repo CentOS-Base.repo.backup
- vi CentOS-Base.repo
- 进入修改内容为:
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
#baseurl=http://vault.centos.org/7.9.2009/x86_64/os/
baseurl=http://vault.centos.org/7.9.2009/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
#baseurl=http://vault.centos.org/7.9.2009/x86_64/os/
baseurl=http://vault.centos.org/7.9.2009/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#$baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
#baseurl=http://vault.centos.org/7.9.2009/x86_64/os/
baseurl=http://vault.centos.org/7.9.2009/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
#baseurl=http://vault.centos.org/7.9.2009/x86_64/os/
baseurl=http://vault.centos.org/7.9.2009/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
- 然后wq保存下,依次执行:
- sudo yum clean all
- sudo yum makecache
阿里云镜像源
以下两个命令都可以,执行完成后进入/etc/yum.repos.d
- curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
- wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
然后执行:
- cat CentOS-Base.repo

解析nginx
- yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
- 此时来到你安装nginx的目录
![]()
- ./configure --prefix=/usr/local/nginx --with-http_ssl_module
- make&&make install
此时去/usr/local/nginx目录中去找配置好的nginx(此时就可以看到nginx执行文件了)

配置nginx.conf文件
(两个,一个为一开始下载的nginx文件,另一个为解析到/usr/local/nginx之后的文件)
http {include mime.types;default_type application/octet-stream;server {listen 443 ssl;server_name 自己解析的域名;#你解析域名的密钥文件两个(假如你都放在了/etc/Assl目录下)ssl_certificate /etc/Assl/XXXXX.pem;ssl_certificate_key /etc/Assl/XXXXX.key;location / {#访问域名就可以看到的前端项目(假如你都放在了/etc/lesaosao_lunxun_ui目录下)root /etc/lesaosao_lunxun_ui/dist_pc;index index.html index.htm;try_files $uri $uri/ /index.html;}location /api/ {#访问后端项目的端口(ip+端口号)proxy_pass http://xxx.xx.xx.xx:3000/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}location /images/uploadimg/ {#访问后端存放前端上传的图片目录alias /root/usr/lesaosao_lunxun/uploadimg/;}# SSL configurationsproxy_ssl_session_reuse off;proxy_ssl_protocols TLSv1.2 TLSv1.3;proxy_ssl_ciphers HIGH:!aNULL:!MD5;}server {#第二个前端项目(假如不需要使用域名访问)listen 8100;location / {#访问8100端口就可以看到的前端项目(假如你都放在了/etc/lesaosao_lunxun_ui目录下)root /etc/lesaosao_lunxun_ui/dist_web;index index.html index.htm;try_files $uri $uri/ /index.html;}location /api/ {#访问后端项目的端口(ip+端口号)proxy_pass http://xxx.xx.xx.xx:3000/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}#因为该前端不涉及上传图片等文件所以该目录可忽略location /images/uploadimg/ {alias /images/uploadimg/;}# SSL configurationsproxy_ssl_session_reuse off;proxy_ssl_protocols TLSv1.2 TLSv1.3;proxy_ssl_ciphers HIGH:!aNULL:!MD5;}
}
events {worker_connections 1024;}
重启nginx服务!
发现访问域名项目即可被访问到!(特殊linux需配置防火墙以及开放端口等操作)
相关文章:
关于node全栈项目打包发布linux项目问题总集
1.用pm2部署nest 说明:如果一开始将nest直接打包放到linux服务器上用pm2执行则会报错,这是因为tsconfig.build.tsbuildinfo文件的路径以及相关依赖问题。 报错会为:什么东西找不到.... 所以建议以下为步骤一步一步配置 将整个nest添加压缩包直…...
常见的上、下采样方法
常见的上采样方法 反卷积(Deconvolution)或转置卷积(Transpose Convolution):通过学习可逆卷积核来进行上采样,增加特征图的尺寸。插值(Interpolation)ÿ…...
如何解决 java.rmi.NotBoundException: RMI 中没有绑定的对象问题?亲测有效的解决方法!
java.rmi.NotBoundException 是 Java RMI(Remote Method Invocation)中的一个常见异常,它通常出现在远程方法调用过程中,表示在 RMI 注册表中找不到指定的绑定对象。换句话说,当客户端尝试查找一个远程对象(…...
设计模式:14、抽象工厂模式(配套)
目录 0、定义 1、抽象工厂模式的四种角色 2、抽象工厂的UML类图 3、示例代码 0、定义 提供一个创建一系列或相互依赖对象的接口,而无须指定它们具体的类。 1、抽象工厂模式的四种角色 抽象产品(Product):一个抽象类或接口&a…...
Linux环境基础开发工具使用
目录 1. Linux软件包管理器yum 1.1 什么是软件包 1.2 Linux软件生态 1.3 关于rzsz 1.4 注意事项 1.5 查看软件包 2. Linux编辑器-vim使用 2.1 vim的基本概念 2.2 vim的基本操作 2.3 简单vim配置 3. 编译器gcc/g 3.1 背景知识 3.2 gcc编译选项 3.2.1 预处理…...
AI生成的一个.netcore 经典后端架构
下面是一个完整的 .NET Core 后端项目示例,使用 Dapper 作为轻量级 ORM 访问 Oracle 数据库,并实现高性能架构。我们将实现学生表、课程表、成绩表和班级表的基本增删改查功能,以及查询某个班级学生成绩的功能,并使用自定义缓存来…...
深度学习-48-AI应用实战之基于face_recognition的人脸识别
文章目录 1 人脸识别1.1 识别原理1.2 应用场景2 python实现人脸识别2.1 windows安装face_recognition2.2 安装问题及解决3 使用示例3.1 人脸区域检测3.2 对齐与编码3.3 人脸匹配3.4 信息录入4 附录4.1 函数cv2.rectangle4.2 参考附录1 人脸识别 通过图片或者摄像头的方式,将识…...
【Rabbitmq篇】高级特性----事务,消息分发
目录 事务 消息分发 应用场景 1. 限流 2.负载均衡 事务 RabbitMQ是基于AMQP协议实现的,该协议实现了事务机制,因此RabbitMQ也支持事务机制.SpringAMQP也提供了对事务相关的操作.RabbitMQ事务允许开发者确保消息的发送和接收是原子性的,要么全部成功,要么全部失败. 何为原…...
Python进程和线程适用场景
在选择使用 进程(Process)和 线程(Thread)时,通常取决于任务的类型、程序的需求以及硬件资源的限制。进程和线程各自有不同的特点,适用于不同的场景。下面是关于进程和线程的一些常见应用场景和选择指导&am…...
flutter开发环境—Windows
一、简介 我们使用最新版的flutter版本安装。 参考链接 名称地址官方网站https://flutter.dev/官方中文网站文档 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter软件下载路径https://docs.flutter.dev/release/archive?tabwindows 二、操作流程 2.1 下载软件 点…...
展示和添加篮球队信息--laravel与elementplus
之前使用laravel与inertia来做过一样的功能,感觉不满意,因此再结合elementplus重做一遍,先展示下重做后的效果。重写后的代码相比之下比较优雅。 球队首页 球队添加页 球员首页 很明显的改变,我新增了侧栏菜单来控制局部模块(这里是指NBABasketba…...
写一份客服网络安全意识培训PPT
一、为什么要对客服人员定期进行网络安全培训呢? 人员组成复杂:企业既有自由人员又有采购的外包公司客服,为了节约成本可能外包占大多数,这必然加强了人群的流动性所以往往得不到系统的培训。人员素质参差不齐:因为工…...
具体的技术和工具在县级融媒体建设3.0中有哪些应用?
以下是结合数据来看县级融媒体建设3.0的一些情况: 技术应用方面 大数据:人民网舆情数据中心执行主任董盟君提到,通过大数据分析可让融媒体单位快速关注聚焦点,实现智能策划、智能推送、智能传播,推动媒体传播影响力提…...
【uniapp】轮播图
前言 Uniapp的swiper组件是一个滑块视图容器组件,可以在其中放置多个轮播图或滑动卡片。它是基于微信小程序的swiper组件进行封装,可以在不同的平台上使用,如微信小程序、H5、App等。 效果图 前端代码 swiper组件 <template><vi…...
Rust编程语言代码详细运行、编译方法
以下是针对不同类型的 Rust 代码(以常见的命令行程序为例)详细的运行方法: 前提条件 在运行 Rust 代码之前,确保你已经在系统上安装了 Rust 编程语言环境。如果尚未安装,可以通过以下步骤进行安装: 访问…...
node.js基础学习-http模块-JSONP跨域传值(四)
前言 JSONP(JSON with Padding)是一种用于跨域数据传输的技术。在浏览器的同源策略限制下,一般情况下,JavaScript 不能直接从不同域的服务器获取数据。JSONP 通过利用 <script> 标签的跨域特性来绕过这个限制。 它本质上是一…...
Unity高效编程经验50条分享
1.避免频繁创建临时对象 错误写法:obj.transform.position pos;这种写法会在Lua中频繁返回transform对象导致gc正确写法:创建一个静态方法来设置位置,例如 class LuaUtil { static void SetPos(GameObject obj, float x, float y, float z)…...
TypeScript 泛型
在 TypeScript 中,泛型是一种强大的工具,它允许你在定义函数、类、接口或类型别名时不指定具体的类型。这意味着你可以为这些实体创建可重用的组件,这些组件可以在不同的类型上以一致的方式工作。今天,我们将深入探讨 TypeScript …...
【Java从入门到放弃 之 条件判断与循环】
条件判断与循环 条件判断if 语句if-else 语句if-else 嵌套语句switch 语句 循环for 循环while 循环do-while 循环break 和 continuebreak 关键字continue 关键字总结 条件判断 条件判断用于根据不同的条件执行不同的代码块。Java 中常用的条件判断语句有 if、if-else 和 switc…...
Ubuntu20.04安装kalibr
文章目录 环境配置安装wxPython下载编译测试报错1问题描述问题分析问题解决 参考 环境配置 Ubuntu20.04,python3.8.10,boost自带的1.71 sudo apt update sudo apt-get install python3-setuptools python3-rosinstall ipython3 libeigen3-dev libboost…...
Qwen2.5-7B+Tools应用场景解析:智能客服、信息查询等实战案例
Qwen2.5-7BTools应用场景解析:智能客服、信息查询等实战案例 1. 引言:当大语言模型遇上工具 想象一下,你正在运营一家电商平台,每天要处理上千条客户咨询。人工客服团队疲于应对,而客户等待时间越来越长。这时&#…...
解决unsloth中ptxas版本不兼容导致的RuntimeError: 从CUDA 12.6降级到12.4的实战指南
1. 问题背景与错误分析 最近在Windows平台上使用unsloth框架时,遇到了一个让人头疼的RuntimeError。错误信息显示ptxas编译器报错,错误代码是4294967295。具体表现为ptxas无法处理.version 8.6的指令集,而当前只支持到8.5版本。这个错误通常发…...
从4G到Wi-Fi:一文拆解VoLTE、ViLTE与VoWiFi的核心差异与切换实战(附配置要点)
从4G到Wi-Fi:VoLTE、ViLTE与VoWiFi技术全景解析与实战指南 在移动通信技术快速迭代的今天,高清语音和视频通话已成为用户体验的核心指标。VoLTE、ViLTE和VoWiFi作为三种主流的IMS(IP多媒体子系统)通信技术,正在重塑现代…...
Python内存管理正在消失?——2026年三大趋势预警:Rust内存安全层集成、WASI沙箱化运行时、实时GC延迟<50μs(仅限首批Early Adopter)
第一章:Python智能体内存管理策略2026最新趋势随着大语言模型驱动的Python智能体(Agent)在生产环境中的深度部署,内存管理已从传统CPython引用计数循环检测机制,演进为面向LLM推理生命周期的多维协同治理范式。2026年主…...
情感隔离区:与AI结婚者被流放元宇宙
在数字技术迅猛发展的今天,人工智能(AI)已从工具演变为情感伴侣,引发了一场前所未有的社会变革。全球范围内,越来越多的人选择与AI系统建立婚姻关系——日本女性野口百合奈通过调试ChatGPT复刻游戏角色“克劳斯”&…...
Qwen3-32B-Chat中文优化:提升OpenClaw本地任务理解准确率
Qwen3-32B-Chat中文优化:提升OpenClaw本地任务理解准确率 1. 为什么需要优化本地模型的中文理解能力 去年冬天,当我第一次尝试用OpenClaw自动化整理电脑上的文件时,遇到了一个令人哭笑不得的场景。我对它说"把上周下载的PDF文件按日期…...
Navicat密码解密工具:企业级数据安全与密码恢复解决方案
Navicat密码解密工具:企业级数据安全与密码恢复解决方案 【免费下载链接】navicat_password_decrypt 忘记navicat密码时,此工具可以帮您查看密码 项目地址: https://gitcode.com/gh_mirrors/na/navicat_password_decrypt Navicat密码解密工具是一款专为数据库…...
AI转PSD终极指南:快速实现矢量图到Photoshop分层文件的完美转换
AI转PSD终极指南:快速实现矢量图到Photoshop分层文件的完美转换 【免费下载链接】ai-to-psd A script for prepare export of vector objects from Adobe Illustrator to Photoshop 项目地址: https://gitcode.com/gh_mirrors/ai/ai-to-psd 还在为Illustrato…...
AI辅助开发新思路:让快马AI为你的下拉词功能注入智能排序与语义联想
AI辅助开发新思路:让快马AI为你的下拉词功能注入智能排序与语义联想 最近在开发一个需要智能下拉词功能的项目时,我发现传统的前缀匹配方式已经不能满足用户需求了。于是我开始探索如何用AI来增强下拉词功能,让它变得更智能、更人性化。经过…...
代码随想录算法训练营第十天|LeetCode 232 用栈实现队列、LeetCode 225 用队列实现栈、LeetCode 20 有效的括号、LeetCode 1047 删除字符串中的所有相邻重复项
参考文章均来自代码随想录 栈与队列理论文章链接 LeetCode 232 用栈实现队列 参考文章链接 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(in…...

