react+koa全栈开发 以及 部署流程

  1. 前端开发
  2. 后端开发
  3. 部署

前端开发

  1. 前端使用react、sass、TS、vite、pnpm进行开发,太详细的这里就不展开说了
  2. 项目创建可以参考我的另外一篇文章 优雅地创建一个前端项目

后端开发

  1. 后端使用node,使用koa框架进行开发,数据库我使用的是一个mysql的云数据库,但是大家只要能够连接上自己的数据库就行
  2. 后端开发详情参考我的另外一篇文章 koa基础配置

部署

服务器

  1. 我买了一个华为云服务器
  2. 但是你用什么服务器不重要,只要公网能访问就行
  3. 我服务器的配置是2G+2核+CentOS操作系统

XShell连接服务器

  1. 填写主机
  2. 填写账号密码

image.png
image.png

安装宝塔

  1. 登录宝塔
  2. 复制一下服务器操作系统对应的安装方法,我的是CentOS的,就复制了第一条
  3. 到XShell中粘贴运行一下,一键自动安装宝塔
  4. 安装好宝塔之后别急着关XShell,要记得记住自己的宝塔地址以及相应的账号密码这些

image.png

服务器安装软件

  1. 在宝塔的“软件商店”中安装node版本管理器、nginx

image.png

node安装

  1. 事先说一下,我使用的包管理是pnpm,而pnpm要求node版本至少16.14,并且我本地的node版本是16.14.0
  2. 使用node管理器下载了16.14.2版本的node,在这个版本的node里面下载了pnpm
  3. 注意:
    1. 如果你找不到16.14版本的node,可以更新版本列表”,这样大概就可以看见了
    2. node的版本尽量跟你本地开发的node版本差不多
  4. 坑:如果你安装了低版本的node,又想要使用pnpm,宝塔是不会给你报错的!!!

image.png

项目上线

  1. 将项目从本地移动到服务器上,我放在了www文件夹下面(要注意的是不要直接上传node_module文件夹,大概率你也上传不了)
  2. 在“网站”栏中添加node项目,进行相关信息的填写,等待下载依赖

image.png

  1. 如果依赖没下载成功可以事后自己再下载一下

image.png

nginx配置

  1. nginx配置,详情参考我的另外一篇文章 nginx配置过程

项目启动

  1. 项目启动可以在宝塔上面进行,也可以在XShell中进行
  2. 如果在宝塔上面没启动成功,可以检查一下自己的启动命令有没有错误,以及可以尝试在XShell中启动
  3. XShell中启动项目,首先要把node配置一下全局环境变量,可以参考一下这篇文章,大概就是找到root/etc/profile,然后添加你对应node的环境变量;然后node启动你的项目,看看有没有什么报错,解决一下,再启动

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/577812.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android studio 使用greenDao根据实体类生成dao类

1.遇到的问题 使用android studio根据实体类生成dao其实也很简单,你只要实现 Parcelable Entity public class ConfigDataModel implements Parcelable {Id(autoincrement true)private Long id null; } 2.使用自带的方法生成 使用build-->make Project生成 …

【PostgreSQL】从零开始:(三十)数据类型-Arrays数组类型

数组 数组是一种数据结构,可以容纳多个相同类型的元素。数组可以存储基本数据类型(如整数、浮点数等)或者对象类型(如字符串、自定义对象等)。在大多数编程语言中,数组有固定的大小,一旦声明后…

学Java的第二天

一、常量 1.值不可以变化的量。 2. 分类: 字符串常量 用双引号括起来的多个字符,可以包含 0、1 或多个,例如 "a" 、 "abc" 、 " 中国 " 整数常量,例如: -10 、 0 、 88 小数常量&…

华为路由器ACL操作SSH接口

ACL的定义 访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪些数据包可以收、哪些数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号等的特…

链表总结篇

链表的理论基础 链表的种类主要为:单链表,双链表,循环链表链表的存储方式:链表的节点在内存中是分散存储的,通过指针连在一起。链表是如何进行增删改查的。数组和链表在不同场景下的性能分析。 链表经典题目 虚拟头…

在x64上构建智能家居(home assistant) (六) 安装Node-RED Companion Integration

点击HACS 搜索node-red 右侧单击后点击安装 安装完成后, 选设备

分别使用OVP-UVP和OFP-UFP算法以及AFD检测算法实现反孤岛检测simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 OVP-UVP算法 4.2 OFP-UFP算法 4.3 AFD检测算法 5.完整工程文件 1.课题概述 分别使用OVP-UVP和OFP-UFP算法以及AFD检测算法实现反孤岛检测simulink建模与仿真。 2.系统仿真结果 3.核心程序与模型…

Redis案例实战之Bitmap、Hyperloglog、GEO

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理、分布式技术原理、数据库技术🔥如果感觉博主的文章还不错的…

【如何破坏单例模式(详解)】

✅如何破坏单例模式 💡典型解析✅拓展知识仓✅反射破坏单例✅反序列化破坏单例✅ObjectlnputStream ✅总结✅如何避免单例被破坏✅ 避免反射破坏单例✅ 避免反序列化破坏单例 💡典型解析 单例模式主要是通过把一个类的构造方法私有化,来避免重…

uniapp框架——vue3+uniFilePicker+fastapi实现文件上传(搭建ai项目第二步)

文章目录 ⭐前言💖 小程序系列文章 ⭐uni-file-picker 组件💖 绑定事件💖 uploadFile api💖 自定义上传 ⭐后端fastapi定义上传接口⭐uniapp开启本地请求代理devServer⭐前后端联调⭐总结⭐结束 ⭐前言 大家好,我是ym…

数据库原理及应用·关系数据库标准语言SQL

4.1 SQL概述 4.1.1 SQL的产生和发展 1.产生 1974年,SQL语言的雏形最早由美国IBM公司的Raymond F. Boyce和Donald D. Chamberlin提出 1975-1979年,在System R上首次实现,由IBM的San Jose研究室研制,称为SEQUEL 2.发展 1986年推…

猫头虎分享2023年12月17日博客之星候选--城市赛道博主文章数据

猫头虎分享2023年12月17日博客之星候选–城市赛道博主文章数据 博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开…

python哈希算法实现

以下是用Python实现SHA-256算法的示例代码: import hashlibdef sha256(message):# 创建SHA-256哈希对象sha256_hash hashlib.sha256()# 更新哈希对象的输入消息sha256_hash.update(message.encode(utf-8))# 计算哈希值并返回十六进制表示return sha256_hash.hexdi…

Web前端框架全景:流行选择与技术趋势

一、引言 随着互联网的飞速发展,Web应用已经渗透到我们生活的方方面面。为了满足用户对Web应用日益增长的需求,开发者们需要更加高效、灵活和可维护的开发工具。Web前端框架应运而生,它们为开发者提供了一套完整的解决方案,帮助开…

udp广播的例子

以下是一个使用C语言描述广播发送和接收的简单示例&#xff1a; 发送端&#xff08;广播发送&#xff09;&#xff1a; #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <netinet/in.h> #inclu…

Linux gdisk创建GPT分区

gdisk命令工具默认将磁盘划分为GPT格式的分区&#xff1a; lsblk 查看分区 创建GPT格式的分区&#xff1a; 列出磁盘分区表&#xff1a; fdisk -l 有一个新的磁盘sdc 下面将sdc进行GPT分区 输入gdisk /dev/sdc 输入&#xff1f;查看帮助文档&#xff1a; 输入n 创建新的分…

Java@RequestParam注解和@RequestBody注解接收参数

目录 Java后端接收数据 第一章、后端不写任何注解情况下接收参数1.1&#xff09;后端不写注解postman发出get请求1.2&#xff09;后端不写注解postman发出post请求 第二章、后端写RequestParam注解接收参数2.1&#xff09;postman发出post请求2.2&#xff09;postman发出get请求…

MySQL 中的 INSERT 是怎么加锁的?

在之前的博客中&#xff0c;我写了一系列的文章&#xff0c;比较系统的学习了 MySQL 的事务、隔离级别、加锁流程以及死锁&#xff0c;我自认为对常见 SQL 语句的加锁原理已经掌握的足够了&#xff0c;但看到热心网友在评论中提出的一个问题&#xff0c;我还是彻底被问蒙了。他…

【Image】GAN的超详细解释(以及奇怪的问题)

GAN原理 工作流程 下面是生成对抗网络&#xff08;GAN&#xff09;的基本工作原理 在GAN的架构中&#xff0c;有两个关键的组件&#xff1a;生成器&#xff08;Generator&#xff09;和鉴别器&#xff08;Discriminator&#xff09;。 生成器&#xff08;Generator&#xff0…

HTML5之 夜景放烟花

参考网址 https://blog.csdn.net/Gou_Hailong/article/details/122269931 https://blog.csdn.net/u013343616/article/details/122233674 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi…