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

关于node全栈项目打包发布linux项目问题总集

1.用pm2部署nest

说明:如果一开始将nest直接打包放到linux服务器上用pm2执行则会报错,这是因为tsconfig.build.tsbuildinfo文件的路径以及相关依赖问题。
报错会为:什么东西找不到....
所以建议以下为步骤一步一步配置

  1. 将整个nest添加压缩包直接传到的root中的任何一个目录中,在linux中解压
  2. 进入nest的项目文件用npm run build进行打包
  3. 此时需要下载好pm2进程管理器
  4. 直接pm2 start main.js运行后端项目
  5. 此时为了验证后端项目是否正常启动成功 可以在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需配置防火墙以及开放端口等操作)

http://www.lryc.cn/news/493179.html

相关文章:

  • 常见的上、下采样方法
  • 如何解决 java.rmi.NotBoundException: RMI 中没有绑定的对象问题?亲测有效的解决方法!
  • 设计模式:14、抽象工厂模式(配套)
  • Linux环境基础开发工具使用
  • AI生成的一个.netcore 经典后端架构
  • 深度学习-48-AI应用实战之基于face_recognition的人脸识别
  • 【Rabbitmq篇】高级特性----事务,消息分发
  • Python进程和线程适用场景
  • flutter开发环境—Windows
  • 展示和添加篮球队信息--laravel与elementplus
  • 写一份客服网络安全意识培训PPT
  • 具体的技术和工具在县级融媒体建设3.0中有哪些应用?
  • 【uniapp】轮播图
  • Rust编程语言代码详细运行、编译方法
  • node.js基础学习-http模块-JSONP跨域传值(四)
  • Unity高效编程经验50条分享
  • TypeScript 泛型
  • 【Java从入门到放弃 之 条件判断与循环】
  • Ubuntu20.04安装kalibr
  • Flink 任务启动脚本-V2(包括ck启动)
  • 扫雷-完整源码(C语言实现)
  • python -从文件夹批量提取pdf文章的第n页,并存储起来
  • R Excel 文件操作指南
  • RabbitMQ 安装延迟队列插件 rabbitmq_delayed_message_exchange
  • fatal error in include chain (rtthread.h):rtconfig.h file not found
  • Java 反射(Reflection)
  • Python爬取机车网车型数据并存入Mysql数据库
  • fpga 时序分析基础
  • python学习——二维列表的列表生成式
  • 【错误❌】——槽函数定义好但未初始化