宝塔webhook部署egg,并反向代理通过域名访问

更多内容可参考我的博客


具体创建egg项目这里就不做过多叙述…请查看官网文档,本篇建立与已有egg仓库,宝塔的基础上。

一、添加站点

进入宝塔面板,点击添加站点

例如:我的egg项目目录就是www/wwwroot/egg,域名是api.xmeta.love

image-20220115204007394

二、webhooks自动部署

  1. 宝塔面板的软件商店搜索安装宝塔webhook

  2. 打开设置,点击添加,输入名称,先随便输入脚本,点击提交

  3. 点击查看密钥,记录下密钥

  4. 打开项目仓库,例如我的是gitee,进入仓库页面,点击管理 => 部署公钥管理 => 添加公钥,添加完成后,后面别的仓库都可以共用这个公钥,无需再次创建,直接添加该公钥即可。

    查看公钥命令:

    cat ~/.ssh/id_rsa.pub
    

    如果电脑上没有公钥,请创建公钥,具体参考git常用命令篇

  5. 仓库页面,点击管理 => WebHooks => 添加webhook,输入刚才查看密钥里的post地址

    image-20220115205333936

⚠️注意:params后的参数就是下面脚本里的$1,请按需修改成自己的。

  1. 编辑脚本
#!/bin/bash
echo ""
#输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "Start"
#判断宝塔WebHook参数是否存在
if [ ! -n "$1" ];
then
          echo "param参数错误"
          echo "End"
          exit
fi
#git项目路径
gitPath="/www/wwwroot/$1"
#git 网址
gitHttp="git@gitee.com:huoyou/$1.git"
 	
echo "Web站点路径:$gitPath"
 
#判断项目路径是否存在
if [ -d "$gitPath" ]; then
        cd $gitPath
        #判断是否存在git目录
        if [ ! -d ".git" ]; then
                echo "在该目录下克隆 git"
                git clone $gitHttp gittemp
                mv gittemp/.git .
				rm -rf gittemp
        fi
        #拉取最新的项目文件
        git reset --hard origin/master
        
        echo "开始拉取代码"
        sudo git pull
        echo "拉取完成"
        
        #按需开启npm 部署命令
        sudo npm install --production
        
        echo "开始重启"
        sudo npm run stop
        sudo npm run tsc
        sudo npm run start
        echo "重启完成"
        
        #设置目录权限
        chown -R www:www $gitPath
        echo "End"
        exit
else
        echo "该项目路径不存在"
        echo "End"
        exit
fi

做完这些,就可以实现提交代码,webhook自动部署egg了。

三、设置反向代理,通过域名访问

egg部署完之后,只能通过你的服务器IP访问,例如:http://114.112.112.50:7001, 但我们肯定不想调用这样的接口吧,这样太low了。。。

所以,我们需要设置反向代理,实现通过域名调用接口。

进入宝塔面板,点击egg站点的 设置=>反向代理=>添加反向代理

image-20220115211707102

来,瞅瞅效果,输入api.xmeta.love

image-20220115212113418

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值