宝塔面板部署egg+web项目(附详细步骤)
本文由宝塔教程栏目给大家介绍宝塔面板怎么部署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 //输入用户名密码 拉取远程代码便可
以上是宝塔面板部署egg+web项目(附详细步骤)的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

本文由宝塔面板教程栏目给大家介绍关于server2022安装宝塔后出现不能远程的问题,不知道大家有没有遇到这样的问题呢?下面就带大家一起来看看我是怎么处理的吧!

宝塔面板是一款非常优秀的Linux系统下服务器管理面板,它拥有强大的功能和友好的界面,可以帮助用户轻松管理服务器。在使用宝塔面板的过程中,有时候需要对虚拟主机进行限速操作,以保证服务器的稳定性和流畅性。本文将介绍如何通过宝塔面板进行虚拟主机的限速设置,以达到良好的用户体验。一、限速概述限速是指对主机带宽进行限制,通过控制主机流量来保证服务器的正常运行。在

宝塔部署thinkphp5报错的解决办法:1、打开宝塔服务器,安装php pathinfo扩展并启用;2、配置“.access”文件,内容为“RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]”;3、在网站管理里面,启用thinkphp的伪静态即可。

随着互联网的发展和普及,域名成为了我们在网络世界中不可或缺的一部分。但是,很多人对域名解析的设置仍然感到困惑。今天,我们来介绍如何使用宝塔面板进行域名解析设置。什么是域名解析?域名解析是将域名与其所代表的网站或服务器IP地址进行绑定的过程。它是一个将人们可阅读的域名转化为计算机可读的IP地址的过程。域名解析的主要组成部分有:域名注册、DNS解析和we

宝塔面板的WebDAV文件管理功能介绍WebDAV是一种基于HTTP协议的文件管理技术,它可以让用户通过HTTP协议来访问网络上的文件,并且可以对这些文件进行管理操作。在WebDAV技术的支持下,我们可以搭建一个Web服务器,提供各类网络服务。宝塔面板是一款流行的Web服务器管理工具,提供了丰富的功能模块,其中WebDAV文件管理功能就是其中之一。下面,本文

在当前互联网时代,网站已经成为很多企业展示和推广自己的重要手段。但是,难免会出现一些意外的情况导致网站无法正常访问或者功能受限,这时候就需要对网站进行修复和维护。本文将介绍如何使用宝塔面板进行网站修复和维护。一、宝塔面板介绍宝塔面板是一款运行在Linux服务器上的一款网站管理软件,它可以帮助用户在服务器操作系统上快速搭建Web环境。宝塔面板集成了众多的功能模

宝塔面板是一种功能强大的面板软件,它可以帮助我们快速部署、管理和监控服务器,尤其是经常需要进行网站搭建、数据库管理以及服务器维护的小型企业或个人用户。在这些任务中,MySQL数据库管理在很多情况下是一个重要的工作。那么如何使用宝塔面板进行MySQL管理呢?接下来,我们将逐步介绍。第一步:安装宝塔面板在开始使用宝塔面板进行MySQL管理之前,首先需要安装宝塔面

宝塔面板是什么?如何使用?随着互联网技术的快速发展,很多网站管理者和开发者都面临着如何快速、方便地管理自己的服务器和网站的问题。为此,一批又一批的服务器管理工具应运而生。而宝塔面板便是其中一款备受欢迎的服务器管理工具,本文将介绍宝塔面板是什么以及如何使用。一、什么是宝塔面板?宝塔面板是一款基于Linux操作系统的服务器管理工具。它提供了一些常用的服务器管
