0

0

宝塔面板部署egg+web项目(附详细步骤)

藏色散人

藏色散人

发布时间:2021-12-20 14:28:48

|

5142人浏览过

|

来源于juejin

转载

本文由宝塔教程栏目给大家介绍宝塔面板怎么部署egg+web项目,希望对需要的你有所帮助!

宝塔部署egg+web项目

需要本地访问远程数据库注意:

1、阿里云设置安全组

2、宝塔安装“系统防火墙 2.9”=> 设置放行端口

如:7002用于访问mongodb,7001用于访问api

数据库连接最简单的测试办法: 就是直接在浏览器访问你的域名:端口或者用服务器ip:端口,如果你用的是域名的话注意域名需要解析绑定一下IP,可以看到浏览器提示如下即可:

3、本地mongoDB迁移到线上/数据库初始化脚本

初始化数据库:app.js

app.beforeStart(async () => {
    const ctx = app.createAnonymousContext();
    const model = ctx.model;
    const existGroup = await model.UserGroup.findOne({name: '超级管理员'})
    if(!existGroup){
            const group = await model.UserGroup.create({
            "name" : "普通管理员",
            "idName" : "admin",
            "role" : 100
            });
    }
    console.log("==app beforeStart==");
});

4、egg运行配置

一、添加网站,上传项目(如果代码有放在远程仓库托管建议直接在网站目录下打开终端面板进行git clone)

注意:在上传项目时把node_modules文件删除再上传,这样会快很多,然后找到左侧“文件”=>“终端”(收藏夹旁边),打开输入密码连接(或使用服务器的终端);输入命令行:cd /www/wwwroot/项目目录,然后重新 npm install。这样可以一定程度上避免项目无法启动的尴尬。

二、进程管理:(待验证!)

可以创建index.js 来启动egg服务

方法1,egg内置进程管理器,可以直接项目目录下运行命令: node index.js index.js代码:

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

方法2,安装PM2进行node进程管理,选择好文件后点击“添加”

  注: 配置完发现前端可以访问但是api不能访问,注意看是不是端口占用问题

  查看所有端口的占用情况,输入命令:`netstat -ano`,使用命令`pkill node` 批量杀死进程

三、添加反向代理,代理到egg项目的运行端口

5、前端项目打包后放在egg的静态目录,并在config/config.default.js 里配置好(也可另起一个项目)

config.static = {
prefix: '/',
dir: [ 
path.join(__dirname, '../app/public'), //上传文件等的目录
path.join(__dirname, '../dist') //放置前端打包后的文件
]}

然后再router.js里加一个重定向,把非api的请求重定向到index.html,以显示前端的页面

app.router.redirect('/', '/index.html', 302);

6.代码同步(使用git)

(假设本地已有git并且提交到远程)
1、在宝塔面板,项目路径下打开终端:
2、方法一、文件未提交则直接git clone [url]
    方法二、如果文件已提交,
     初始化:
        git init
     设置远程仓库地址:
        git remote origin set-url [url] 或 git remote add origin [url]
    设置用户名:
        git config --global user.name [用户名]
        git config --global user.email [邮箱]  
        想要只在当前项目下设置的话把--global去掉
    如本地有文件,先执行:
        git add .
        git commit -m "init"
        git push -u origin master
    拉取:
        git config --global credential.helper store //让git记住用户名密码,下次不用填
        git pull  //输入用户名密码 拉取远程代码便可

相关专题

更多
高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

4

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

3

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

10

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

15

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

42

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

7

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

9

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

6

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号