在pai面板上devops部署static site

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 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

手动在仓库里添加以上二个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) })

手动在仓库里添加以上二个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",
      }
  }]
}

这样部署后仓库就运行起来了,点管理面板中重启应用能达到最基本的自动部署仓库中的内容和启动静态网页服务的目的。只是,它缺少一个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)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
3月前
|
机器学习/深度学习 数据采集 自然语言处理
机器学习模型的部署与上线:从训练到实际应用
在机器学习中,模型训练只是整个过程的一部分。将训练好的模型部署到实际应用中,并使其稳定运行,也是非常重要的。本文将介绍机器学习模型的部署与上线过程,包括数据处理、模型选择、部署环境搭建、模型调优等方面。同时,我们也会介绍一些实际应用场景,并分享一些经验和技巧。
|
4月前
|
Devops 网络安全 Docker
百度搜索:蓝易云【DevOps系列文章之Docker部署web ssh工具sshwifty教程。】
同时,了解DevOps和Docker的基本原理和概念也对你进行部署和管理这样的工具非常有帮助。你可以进一步研究Docker容器化技术和相关的DevOps实践,以更好地理解和应用这些概念。
55 0
|
3月前
|
人工智能 算法 开发工具
Mixtral 8X7B MoE模型在阿里云PAI平台的微调部署实践
Mixtral 8x7B 是Mixtral AI最新发布的大语言模型,是当前最为先进的开源大语言模型之一。阿里云人工智能平台PAI,提供了对于 Mixtral 8x7B 模型的全面支持,开发者和企业用户可以基于 PAI-快速开始轻松完成Mixtral 8x7B 模型的微调和部署。
|
4月前
|
IDE 开发工具
垃圾分类模型训练部署教程,基于MaixHub和MaixPy-k210(3)
在开发板上运行模型 1、烧录模型文件到板子 使用kflash_gui工具,可以完成这个任务。
130 0
|
3月前
|
人工智能 算法 开发工具
通义千问Qwen-72B-Chat基于PAI的低代码微调部署实践
本文将以 Qwen-72B-Chat 为例,介绍如何通过PAI平台的快速开始(PAI-QuickStart)部署和微调千问大模型。
|
1天前
|
jenkins Devops Java
【DevOps】(一)jekins部署
【DevOps】(一)jekins部署
9 1
|
16天前
|
机器学习/深度学习 JavaScript 前端开发
机器学习模型部署:使用Python和Vue搭建用户友好的预测界面
【4月更文挑战第10天】本文介绍了如何使用Python和Vue.js构建机器学习模型预测界面。Python作为机器学习的首选语言,结合Vue.js的前端框架,能有效部署模型并提供直观的预测服务。步骤包括:1) 使用Python训练模型并保存;2) 创建Python后端应用提供API接口;3) 利用Vue CLI构建前端项目;4) 设计Vue组件实现用户界面;5) 前后端交互通过HTTP请求;6) 优化用户体验;7) 全面测试并部署。这种技术组合为机器学习模型的实用化提供了高效解决方案,未来有望更加智能和个性化。
|
1月前
|
机器学习/深度学习 JSON 分布式计算
机器学习PAI常见问题之部署报错如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。
|
1月前
|
人工智能 算法 开发工具
通义千问1.5(Qwen1.5)大语言模型在PAI-QuickStart的微调与部署实践
Qwen1.5(通义千问1.5)是阿里云最近推出的开源大型语言模型系列。作为“通义千问”1.0系列的进阶版,该模型推出了多个规模,从0.5B到72B,满足不同的计算需求。此外,该系列模型还包括了Base和Chat等多个版本的开源模型,为全球的开发者社区提供了空前的便捷性。阿里云的人工智能平台PAI,作为一站式的机器学习和深度学习平台,对Qwen1.5模型系列提供了全面的技术支持。无论是开发者还是企业客户,都可以通过PAI-QuickStart轻松实现Qwen1.5系列模型的微调和快速部署。
|
1月前
|
机器学习/深度学习 API 开发者
深入浅出:使用Python实现机器学习模型的部署
在本文中,我们将探讨如何使用Python语言将机器学习模型从开发环境迁移到生产环境的过程。与传统的技术文章摘要不同,我们不仅会概述关键步骤和常见挑战,还将引入一个简易的案例研究,通过这个案例,读者能够更直观地理解模型部署的全过程及其重要性。我们将重点讨论模型封装、API设计、容器化技术以及云服务部署等关键技术,旨在为广大开发者提供一个清晰、实用的模型部署指南。

热门文章

最新文章