腾讯云部署node koa mysql_把 nodejs koa2 制作的后台接口 部署到 腾讯云服务器

我 使用 nodejs koa2框架 制作后端接口, 现在将nodejs koa2 部署到服务器

koa2项目 实现 接口 可以看我的 这篇文章:

1. 我使用 宝塔面板 快速部署,先在服务器上安装 宝塔面板, 我服务器是 CentOS 7.5 64位,安装宝塔面板的方法

如何安装宝塔面板 看这里: https://www.bt.cn/download/linux.html

安装完宝塔面板之后,给宝塔面板 安装 PM2管理器

4af34385a750da28708fdd5d0b4028a2.png

2.将本地的 koa2项目上传到服务器

4c41b6ffd71d7c9d6a17d1774191c69a.png

3. 通过 宝塔面板快捷上传

a5d7b7f63e247770f83ba7a74e27a264.png

0ecdfd9b69327d8f7549b151f832cbe5.png

21a3e6c1e722ca9e1bda0ac854b4b2b7.png

4. 因为我本地开发 用的nodejs 环境是 v10.15.3  所以需要给服务器上的 nodej环境也统一下

3d38dab3555f1b592c686c1e98870cae.png

71224d55bdc1b3b6a9f1856cae5bbf56.png

你也看下  你本地的 npm版本 是否 和 服务器上的版本 一致

5c77fca924357a9c90ecd9d0fa18bbcf.png

5. 我本地是用 cnpm 快速安装 的 ,因为 npm 国内比较慢,所以在服务器上 我也安装了 cnpm, 你上图看到的 cnpm  yarn  都是我接下来安装的

在宝塔面板的 终端上 安装 cnpm  yarn

7cf67ed3ef5e23d9b054706e05fec85e.png

安装 cnpm

npm install-g cnpm --registry=https://registry.npm.taobao.org

cnpm 安装yarn

cnpm install-g yarn --registry=https://registry.npm.taobao.org

配置 yarn

yarn config set registry https://registry.npm.taobao.org -g

yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g

6.安装项目的依赖 (即 node_modules 文件夹)

b914639ac4c83634db2dff69b4f3fca2.png

7. 配置 PM2管理器 ,管理项目

cf9bb9ad1ed18fdbb81d353d7b8ef225.png

5a825337e32cd7b393527d46cedff620.png

8.接下来,还不能访问,需要2步操作

a. 去腾讯云服务器上,在安全组那边  把3036端口  设置入站规则

646f66ed31d9e589efca3371cd577242.png

b.Linux防火墙开启3036端口

firewall-cmd --add-port=3036/tcp

回到宝塔终端

f6409249ce789c7725a62b5f0a512bf6.png

浏览器 访问端口

c597278b2f5ed50544791e3e1cd8019d.png

部署成功了

再看下 接口能不能访问

96e8c21f4d7f3f856b6553589cb3f3e0.png

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Node.js 中使用 Koa 框架进行事务管理可以使用以下两种方式: 1. 使用数据库事务:如果你使用的是支持事务的数据库(如 MySQL、PostgreSQL 等),那么你可以使用数据库提供的事务功能来管理事务。在 Koa 中,你可以使用像 Sequelize 这样的 ORM 库来管理数据库操作。 例如,在 Sequelize 中使用事务的代码示例: ``` // 创建一个事务 const transaction = await sequelize.transaction(); try { // 在事务中执行数据库操作 await User.create({ name: 'John Doe' }, { transaction }); await Profile.create({ userId: 1, bio: 'Hello, world' }, { transaction }); // 提交事务 await transaction.commit(); } catch (error) { // 回滚事务 await transaction.rollback(); } ``` 在上面的示例中,我们使用了 `sequelize.transaction()` 方法来创建一个事务,并将其传递给每个数据库操作。如果其中任何一个操作失败,那么事务将会回滚,所有操作都将被撤销。 2. 使用 Koa 中间件:另一种管理事务的方法是使用 Koa 中间件来实现。你可以编写一个中间件函数,将所有需要在事务中执行的操作包裹起来,并在出现错误时回滚事务。 例如,在 Koa 中使用中间件管理事务的代码示例: ``` app.use(async (ctx, next) => { const transaction = await sequelize.transaction(); try { // 将事务对象绑定到上下文对象中 ctx.transaction = transaction; // 执行下一个中间件 await next(); // 提交事务 await transaction.commit(); } catch (error) { // 回滚事务 await transaction.rollback(); // 抛出错误 throw error; } }); // 在路由中使用事务 router.post('/users', async (ctx) => { // 从上下文对象中获取事务对象 const transaction = ctx.transaction; try { // 在事务中执行数据库操作 await User.create({ name: 'John Doe' }, { transaction }); await Profile.create({ userId: 1, bio: 'Hello, world' }, { transaction }); // 发送响应 ctx.body = { success: true }; } catch (error) { // 如果发生错误,将会自动回滚事务 throw error; } }); ``` 在上面的示例中,我们编写了一个 Koa 中间件函数,该函数会在每个请求中创建一个事务,并将其绑定到上下文对象中。在路由处理函数中,我们可以从上下文对象中获取事务对象,并使用它来执行数据库操作。如果任何一个操作失败,中间件将会回滚事务,并将错误抛出到全局错误处理函数中。 总的来说,使用数据库事务或 Koa 中间件来管理事务都是有效的方式。选择哪种方式取决于你的具体需求和项目的架构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值