「72变的云开发」serverless搭建几乎零成本的typecho博客

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 如果放在前些年,博客最好的方式是租用一台服务器,用来搭建博客。冗余的性能造成了浪费,想和文章达到同配置的服务器更为昂贵,而serverless真正做到了按量付费。


开始前准备


1.wordpress安装包(这个是必要的,即使安装typecho)下载好后解压

2.下载typecho最新版,请将下载好的typecho解压到fc-wordpress\fc-web-sqlite\.fun\nas\auto-default\fc-wp-sqlite\wordpress目录内

2.安装nodejs和funcraf还有gitbash

3.去开通阿里云的函数计算fc,region选择香港(不用备案)

4.开通文件存储nas,用来存储网站的所有文件

配置.env文件

获取AccessKey ID 和 AccessKey Secret

image.png

获取阿里云账户id

image.png

在解压好的fc-wordpress/fc-web-sqlite/目录里面的.env_example文件重命名为.env,并按照以下提示修改配置

DEFAULT_REGION=cn-hongkong              //位置是香港
ACCOUNT_ID=16*********30               //阿里云账户ID
ENDPOINT=http://16********30.cn-hongkong.fc.aliyuncs.com          //阿里云账户ID.cn-hongkong.fc.aliyuncs.com  
ACCESS_KEY_ID=LT***********AN   
ACCESS_KEY_SECRET=Lg8c1*********1bL77n

解析域名


把个人域名解析到endpoint里面对应的网址

image.png


修改index.php


修改fc-wordpress\fc-web-sqlite目录中index.php,将host值将‘host = "";`内的域名改成你已经解析到endpoint的域名

image.png

修改template.yml


1.修改该文件内的两处fc-wp-demo,随意修改名称。

2.修改fc-wordpress-domain内的DomainName,后面加上你自己的域名。比如

image.png

同步并部署

先安装funcraf,打开安装好的gitbash。输入以下命令

npm install @alicloud/fun -g

在/root/fc-wordpress/fc-web-sqlite文件夹中,执行以下命令

fun nas init
fun nas info
fun nas sync 
fun deploy

配置完成


访问站点安装即可,如果要迁移数据库请翻到下面

funcraf命令(重要)

fun nas rm -r nas://fc-wp-mysql/mnt/auto/wordpress删除WordPress目录

fun nas cp nas:///mnt/auto/wordpress/ D: 复制NAS的WordPress目录到本地的D盘

typecho(新站)到此结束


如果需要迁移数据请看下面

typecho数据库迁移到serverless(包含本地初始化和不同数据库转换)

如果不需要迁移数据不要乱碰

本地初始化数据库

首先你的系统需要PHP环境,到https://windows.php.net/download/

下载,选择Thread Safe下的ZIP下载。然后解压到Windows/system32,省去配置环境

1.在php的文件夹下,复制一份php.ini-development文件重命名为php.ini,记事本打开。搜索extension_dir,把;extension_dir = "./"改为extension_dir = "./ext",分号;表示注释,需要去掉。搜索extension=pdo_sqlite,去掉注释。

3.修改hosts文件,把上面解析到endpoint的域名指向127.0.0.1,然后进fc-web-sqlite.fun\nas\auto-default\fc-wp-sqlite\wordpress目录下执行php -S 0.0.0.0:80命令本地安装好typecho和SQLite3数据库的链接,完成后在fc-wordpress\fc-web-sqlite\.fun\nas\auto-default\fc-wp-sqlite\wordpress\usrusr文件夹下看到一个.db的数据库文件,随意命名,回到上一级目录打开config.inc.php文件,找到定义数据库参数这一段,把它改为 'file' => '../usr/名字.db',。

4.复制一份config.inc.php文件改名为config.inc-sqlite3.php,打开它,把数据库的指向路径修改为 'file' => './usr/名字.db',,跟前面的相比少了个点号。

5.在打开index.php文件把config.inc.php替换为config.inc-sqlite3.php

数据迁移

首先下载并安装MysqlToSqlite(百度就有)

打开后填好连接信息,然后点ok

连上MySQL并设置好SQLite的保存位置后点击OK再选择All Table

然后选择需要转换的Typecho MySQL数据条,建议全选,免得出错;

如果中间提示需要添加字段那就用navicat 15 for sqlite给sqlite添加字段

最后要把原来usr文件夹所有东西复制到目前的usr文件夹,


重构搜索索引


因为serverless没法开重写功能,导致搜索不到文章了,研究了一下发现,我只要重新发布就可以搜索到了,所以我用

fun nas cp nas:///mnt/auto/wordpress/ D:把数据库给拿回来,用navicat15 for sqlite,新建一个查询三条命令

UPDATE typecho_contents SET type='post_draft'
UPDATE typecho_contents SET template=NULL
UPDATE typecho_contents SET password=NULL

运行并保存

执行fun nas sync

打开网站可以看到所有文章都到草稿箱了

再次打开navicat 15 新建查询

UPDATE typecho_contents SET type='post'

运行并保存

执行fun nas sync

打开网站搜索可用了

成本计算

函数计算

每月前 100 万次函数调用免费, 每月前 400000(GB*秒) 费用免费。公网流量0.5元/gb。

月访问五万次的网站一般每月不超过2元.

nas存储

低于1g的文件,不需要付费,超出1gb的1.85元/GiB/月

日志服务

如果不需要日志服务可以直接删掉日志服务,此处可免费


相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
2月前
|
人工智能 运维 安全
加速智能体开发:从 Serverless 运行时到 Serverless AI 运行时
在云计算与人工智能深度融合的背景下,Serverless 技术作为云原生架构的集大成者,正加速向 AI 原生架构演进。阿里云函数计算(FC)率先提出并实践“Serverless AI 运行时”概念,通过技术创新与生态联动,为智能体(Agent)开发提供高效、安全、低成本的基础设施支持。本文从技术演进路径、核心能力及未来展望三方面解析 Serverless AI 的突破性价值。
|
3月前
|
消息中间件 存储 运维
嘉银科技基于阿里云 Kafka Serverless 提升业务弹性能力,节省成本超过 20%
云消息队列 Kafka 版 Serverless 系列凭借其秒级弹性扩展、按需付费、轻运维的优势,助力嘉银科技业务系统实现灵活扩缩容,在业务效率和成本优化上持续取得突破,保证服务的敏捷性和稳定性,并节省超过 20% 的成本。
199 22
|
7月前
|
人工智能 Serverless API
MCP Server 之旅第 4 站: 长连接闲置计费最高降低87%成本的技术内幕
阿里云函数计算(FC)提供事件驱动的全托管计算服务,支持 MCP Server 场景优化。通过 [MCP Runtime](https://mp.weixin.qq.com/s/_DSMRovpr12kkiQUYDtAPA),实现 Stdio MCP Server 一键托管,并借助亲和性调度解决 Session 保持问题。针对 MCP Server 的稀疏调用特性,函数计算引入长连接闲置计费机制,在毫秒级计费基础上,显著降低资源闲置成本(最高可达87%)。用户可通过控制台或 API 开启该功能,Websocket 长请求场景亦默认支持。此方案有效提升资源利用率,为用户提供灵活、经济的计算服务。
|
消息中间件 存储 运维
曹操出行借助 ApsaraMQ for Kafka Serverless 提升效率,成本节省超 20%
本文整理于 2024 年云栖大会主题演讲《云消息队列 ApsaraMQ Serverless 演进》,杭州优行科技有限公司消息中间件负责人王智洋分享 ApsaraMQ for Kafka Serverless 助力曹操出行实现成本优化和效率提升的实践经验。
300 108
|
10月前
|
Cloud Native 安全 Serverless
云原生应用实战:基于阿里云Serverless的API服务开发与部署
随着云计算的发展,Serverless架构日益流行。阿里云函数计算(Function Compute)作为Serverless服务,让开发者无需管理服务器即可运行代码,按需付费,简化开发运维流程。本文从零开始,介绍如何使用阿里云函数计算开发简单的API服务,并探讨其核心优势与最佳实践。通过Python示例,演示创建、部署及优化API的过程,涵盖环境准备、代码实现、性能优化和安全管理等内容,帮助读者快速上手Serverless开发。
|
监控 Serverless 云计算
探索Serverless架构:开发实践与优化策略
本文深入探讨了Serverless架构的核心概念、开发实践及优化策略。Serverless让开发者无需管理服务器即可运行代码,具有成本效益、高可扩展性和提升开发效率等优势。文章还详细介绍了函数设计、安全性、监控及性能和成本优化的最佳实践。
|
关系型数据库 Serverless 分布式数据库
PolarDB Serverless 模式通过自动扩缩容技术,根据实际工作负载动态调整资源,提高系统灵活性与成本效益
PolarDB Serverless 模式通过自动扩缩容技术,根据实际工作负载动态调整资源,提高系统灵活性与成本效益。用户无需预配高固定资源,仅需为实际使用付费,有效应对流量突变,降低总体成本。示例代码展示了基本数据库操作,强调了合理规划、监控评估及结合其他云服务的重要性,助力企业数字化转型。
292 6
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
257 1
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
436 1
|
运维 监控 Serverless
利用Serverless架构优化成本和可伸缩性
【10月更文挑战第13天】Serverless架构让开发者无需管理服务器即可构建和运行应用,实现成本优化与自动扩展。本文介绍其工作原理、核心优势及实施步骤,探讨在Web应用后端、数据处理等领域的应用,并分享实战技巧。

相关产品

  • 函数计算