300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 宝塔面板部署egg+web项目(附详细步骤)

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

时间:2021-09-22 19:11:19

相关推荐

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

专题|宝塔面板

宝塔面板

专题-宝塔面板

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

模仿天猫商城首页源码,vscode实例教程,ubuntu 没有ssh,tomcat里面放图片,爬虫牢房,php mysql 架构,seo优化是什么概念,更换网站源码,dedecms模板带数据库lzw

宝塔部署egg+web项目

91社区源码,vscode下安装gcc,uos对比ubuntu,tomcat 热更新,sqlite3工具收费吗,晚上家里有小爬虫怎么处理,php 数组 降维,保定seo推广的价格,恒酷多人视频聊天室网站源码程序软件租售,jsp网页编辑器,小米官网首页html模板lzw

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

国外搜索引擎源码,ubuntu新硬盘链接,tomcat闪退的常见原因,同花顺爬虫数据乱码,php简易实现生成html静态页面,如何搜索seolzw

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运行配置

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

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

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

可以创建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` 批量杀死进程

C、添加反向代理,代理到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、方法A、文件未提交则直接git clone [url] 方法B、如果文件已提交,初始化: 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 //输入用户名密码 拉取远程代码便可

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。