在pai面板上devops部署static site

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: 本文关键字:blog联合,一文多发,blog内容联合。headless ghost cms

本文关键字:blog联合,一文多发,blog内容联合。headless ghost cms

前面《在云主机上手动安装腾讯PAI面板》中,我们发现PAI是一个利用git和devops,在仓库的根下放置.pai.yml来达到自动部署+运行APP目的的一种机制,除了没有容器和隔离,其它都这属于CD/CD的思路,下面来实际部署官方的hexo static blog例子,虽然我有点不承认它是serverless的hexo静态网站生成器(tx云函数官方也有一个staticsite版本,稍后会谈到真正的这类产品是headless ghost cms这种)但肯定比普通hexo要方便一点,完成之后的效果就是能作到类似利用git hook部署网站+自动更新(稍后也会谈到它的另外一个效果:可以与其它git仓库,如github,gitee作内容联合)。。

不废话了

安装hexo:

在管理面板中,我们要安装的是这个仓库,https://gitee.com/TencentCloudBase/pai-mate-hello-example-static,这个仓库是个hexo的example site项目,(正常安装后,会生成/data/pai_mate_workspaces/pai-mate-hello-example-static/pai-static-pages.js和/data/pai_mate_workspaces/pai-mate-hello-example-static/ecosystem.config.js,ecosystem.config.js是pm2用的守护脚本,它守护pai-static-pages.js开启3000端口上serving public dir的静态http服务,这个服务没开起来之前,访问与pai安装时的绑定域名会一直502,安装好后,可以访问域名),但是除了这些,它却没有安装好hexo本身(也许官方期待用户手动进服务器安装) 也就少了至关重要的hexo生成网页的作用,查看它的.pai.yml下,没有部署脚本deployScripts:,只有一行static: public(这正是上面二个生成文件生成的语句),---- 无论如何,这个仓库中的.pai.yml不完善。我们来完善补全这个仓库一下:

.pai.yml,注释掉 static: public,另:不知为什么,hexoauto加--watch会与上一条冲突,导致3000频频挂掉,故 --name hexoauto后不加--watch

# static: public
deployScripts:
  start:
    - npm install
    - npm install --unsafe-perm=true --allow-root -g hexo-cli
    - npm audit fix
    - pm2 start -s ecosystem.config.js
    - pm2 start "hexo generate --watch" --name hexoauto
  restart:
    - hexo clean
    - hexo generate
AI 代码解读

手动在仓库里添加以上二个js文件,pai-static-pages.js:

// This file is auto-generated by PAI-MATE
const handler = require('serve-handler')
const http = require('http')
const server = http.createServer((request, response) => { return handler(request, response, {public: 'public'}) })
const port = +process.env.PORT
server.listen(port, () => { console.log('Running at http://localhost:' + port) })
AI 代码解读

手动在仓库里添加以上二个js文件,ecosystem.config.js

// This file is auto-generated by PAI-MATE
module.exports = {
  apps : [{
    name: "pai-static-pages",
    script: "./pai-static-pages.js",
      watch: true,
      env: {
        "PORT": 3000,
        "NODE_ENV": "production",
        "NODE_PATH": "/usr/local/node/lib/node_modules",
      }
  }]
}
AI 代码解读

这样部署后仓库就运行起来了,点管理面板中重启应用能达到最基本的自动部署仓库中的内容和启动静态网页服务的目的。只是,它缺少一个pm2 git clone。依赖手动重启restart处的hexo generate。整个应用处,还是需要一道工序(而理想状态下,内容源git一下应该是唯一的工作)。

内容联合:

曾经我们有网盘联合,内容转存。blog和文章作为一种“内容”,有时也需要联合和一文多发。这类功能应该加到各大笔记和知识库核心功能中,当然也有这样的独立产品如artpub。

上面的git方式联合,只是让仓库和这个静态站之间作内容源联合。这种基于git devops的工具层的东西,在内容联合方面还是有局限的。

在多样内容源联合方案的选择上,还是基于API的好(因为可编程的东西不局限于工具,见《用开发tcpip的方式开发web》),比如那种headless ghost cms content api+JAMstack front-end like hexo的方案就好多了(这也使得hexo这类工具通用BLOG静态生成器上升为通用网站生成器的境界),在“迁移内容”,和”换前端“方面都有很大的自由度(虽然费折腾但是做成工具和产品也一样)。


下文,由于pai是个类似baota panel基于pyenv的python项目管理器,下文探索它的py项目部分,未来讨论利用staticsite和markdown生成整站单页pdf book等课题


(此处不设回复,扫码到微信参与留言,或直接点击到原文)

qrcode.png

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
目录
打赏
0
0
0
0
2
分享
相关文章
全网首发 | PAI Model Gallery一键部署阶跃星辰Step-Video-T2V、Step-Audio-Chat模型
Step-Video-T2V 是一个最先进的 (SoTA) 文本转视频预训练模型,具有 300 亿个参数,能够生成高达 204 帧的视频;Step-Audio 则是行业内首个产品级的开源语音交互模型,通过结合 130B 参数的大语言模型,语音识别模型与语音合成模型,实现了端到端的文本、语音对话生成,能和用户自然地进行高质量对话。PAI Model Gallery 已支持阶跃星辰最新发布的 Step-Video-T2V 文生视频模型与 Step-Audio-Chat 大语言模型的一键部署,本文将详细介绍具体操作步骤。
DeepSeek服务器繁忙?拒绝稍后再试!基于阿里云PAI实现0代码一键部署DeepSeek-V3和DeepSeek-R1大模型
阿里云PAI平台支持零代码一键部署DeepSeek-V3和DeepSeek-R1大模型,用户可轻松实现从训练到部署再到推理的全流程。通过PAI Model Gallery,开发者只需简单几步即可完成模型部署,享受高效便捷的AI开发体验。具体步骤包括开通PAI服务、进入控制台选择模型、一键部署并获取调用信息。整个过程无需编写代码,极大简化了模型应用的门槛。
164 7
阿里云PAI部署DeepSeek及调用
本文介绍如何在阿里云PAI EAS上部署DeepSeek模型,涵盖7B模型的部署、SDK和API调用。7B模型只需一张A10显卡,部署时间约10分钟。文章详细展示了模型信息查看、在线调试及通过OpenAI SDK和Python Requests进行调用的步骤,并附有测试结果和参考文档链接。
2110 9
阿里云PAI部署DeepSeek及调用
PAI Model Gallery 支持云上一键部署 DeepSeek-V3、DeepSeek-R1 系列模型
DeepSeek 系列模型以其卓越性能在全球范围内备受瞩目,多次评测中表现优异,性能接近甚至超越国际顶尖闭源模型(如OpenAI的GPT-4、Claude-3.5-Sonnet等)。企业用户和开发者可使用 PAI 平台一键部署 DeepSeek 系列模型,实现 DeepSeek 系列模型与现有业务的高效融合。
FastAPI + ONNX 部署机器学习模型最佳实践
本文介绍了如何结合FastAPI和ONNX实现机器学习模型的高效部署。面对模型兼容性、性能瓶颈、服务稳定性和安全性等挑战,FastAPI与ONNX提供了高性能、易于开发维护、跨框架支持和活跃社区的优势。通过将模型转换为ONNX格式、构建FastAPI应用、进行性能优化及考虑安全性,可以简化部署流程,提升推理性能,确保服务的可靠性与安全性。最后,以手写数字识别模型为例,展示了完整的部署过程,帮助读者更好地理解和应用这些技术。
99 20
云上一键部署 DeepSeek-V3 模型,阿里云 PAI-Model Gallery 最佳实践
本文介绍了如何在阿里云 PAI 平台上一键部署 DeepSeek-V3 模型,通过这一过程,用户能够轻松地利用 DeepSeek-V3 模型进行实时交互和 API 推理,从而加速 AI 应用的开发和部署。
阿里云PAI-部署Qwen2-VL-72B
阿里云PAI-部署Qwen2-VL-72B踩坑实录
魔搭支持在阿里云人工智能平台PAI上进行模型训练、部署了!
现在,魔搭上的众多模型支持在阿里云人工智能平台PAI-Model Gallery上使用阿里云算力资源进行模型训练和部署啦!
Qwen2.5-Coder 系列模型在 PAI-QuickStart 的训练、评测、压缩及部署实践
阿里云的人工智能平台 PAI,作为一站式、 AI Native 的大模型与 AIGC 工程平台,为开发者和企业客户提供了 Qwen2.5-Coder 系列模型的全链路最佳实践。本文以Qwen2.5-Coder-32B为例,详细介绍在 PAI-QuickStart 完成 Qwen2.5-Coder 的训练、评测和快速部署。
Qwen2.5-Coder 系列模型在 PAI-QuickStart 的训练、评测、压缩及部署实践
DistilQwen2 蒸馏小模型在 PAI-QuickStart 的训练、评测、压缩及部署实践
本文详细介绍在 PAI 平台使用 DistilQwen2 蒸馏小模型的全链路最佳实践。

热门文章

最新文章