eggjs部署宝塔常见问题

最近在考虑做一个智能问答相关的网站,在选择后端服务器的时候觉得eggjs相对来说更适合我,然后就根据eggjs官网开始了搭建的工作,在搭建成功以后开始了部署工作,在此过程中发现了很多问题。

一键安装依赖配置

在项目跟路径创建index.js,我们在部署的时候宝塔会自动帮我们安装依赖,所以需要配置该文件。

typescript 复制代码
const egg = require('egg');

const workers = Number(process.argv[2] || require('os').cpus().length);
egg.startCluster({
  workers,
  baseDir: __dirname,
});

部署成功后不能启动

1.依赖下载失败

我们去查看package.json文件中的一下配置是否是node版本很大,或者比较高的情况,如果有这种情况下载依赖基本上就不会成功,然后你再去看你宝塔的环境是多少,如果小于该配置那么就确定了,就是版本问题。

typescript 复制代码
"engines": {
    "node": ">=18.0.0"
  }

解决办法:

在宝塔的终端中运行以下命令,该命令的含义事版本安装出错是跳过报错继续安装。

typescript 复制代码
yarn config set ignore-engines true

2.启动命令错误

typescript 复制代码
// 第一种 --推荐
"start": "egg-scripts start --port=7002 --daemon --title=egg-server-test --ignore-stderr",

// 第二种
"start": "egg-scripts start --daemon --title=egg-server-test --ignore-stderr",

部署后报错405

当我们接口配置了https以后,我们会在vue中配置跨域请求,当我们配置了跨域后,请求接口会出现405的情况,这个时候我们需要在在部署的配置文件中配置代理,当我们做了以下代理以后然后重启服务器,就可以对接口进行访问了。

typescript 复制代码
location /api {
  # 这个是把apii前缀给去掉
  rewrite ^/api/(.*)$ /$1 break;
  # 这个就是后端的接口地址
  proxy_pass http://****;
}

总结

以上的讲个问题就是我在部署eggjs时所遇到的最大的问题,如果你也正好需要的该问题,希望能帮助当你,我也做一个小小的记录。我写的智能问答也已经成功了,如果感兴趣可以试试。

相关推荐
CodeClimb5 小时前
【华为OD-E卷 - 第k个排列 100分(python、java、c++、js、c)】
java·javascript·c++·python·华为od
光头程序员7 小时前
grid 布局react组件可以循数据自定义渲染某个数据 ,或插入某些数据在某个索引下
javascript·react.js·ecmascript
fmdpenny8 小时前
Vue3初学之商品的增,删,改功能
开发语言·javascript·vue.js
小美的打工日记8 小时前
ES6+新特性,var、let 和 const 的区别
前端·javascript·es6
涔溪8 小时前
有哪些常见的 Vue 错误?
前端·javascript·vue.js
程序猿online9 小时前
前端jquery 实现文本框输入出现自动补全提示功能
前端·javascript·jquery
Turtle11 小时前
SPA路由的实现原理
前端·javascript
HsuYang11 小时前
Vite源码学习(九)——DEV流程中的核心类(下)
前端·javascript·架构
傻小胖11 小时前
React 中hooks之useInsertionEffect用法总结
前端·javascript·react.js
蓝冰凌13 小时前
【整理】js逆向工程
javascript·js逆向