宝塔面板部署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 //输入用户名密码 拉取远程代码便可
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tangcbjaa
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24