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

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万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/月

日志服务

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


相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
7天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
31 1
|
10天前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
25 1
|
15天前
|
消息中间件 存储 运维
曹操出行借助 ApsaraMQ for Kafka Serverless 提升效率,成本节省超 20%
本文整理于 2024 年云栖大会主题演讲《云消息队列 ApsaraMQ Serverless 演进》,杭州优行科技有限公司消息中间件负责人王智洋分享 ApsaraMQ for Kafka Serverless 助力曹操出行实现成本优化和效率提升的实践经验。
|
19天前
|
运维 监控 Serverless
利用Serverless架构优化成本和可伸缩性
【10月更文挑战第13天】Serverless架构让开发者无需管理服务器即可构建和运行应用,实现成本优化与自动扩展。本文介绍其工作原理、核心优势及实施步骤,探讨在Web应用后端、数据处理等领域的应用,并分享实战技巧。
|
22天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
54 3
|
28天前
|
监控 Serverless 云计算
探索Serverless架构:开发的未来趋势
【10月更文挑战第5天】Serverless架构,即无服务器架构,正逐渐成为云计算领域的热点。它允许开发者构建和运行应用程序而无需管理底层服务器。本文介绍了Serverless架构的基本概念、核心优势及挑战,并展示了其在事件驱动编程、微服务架构和数据流处理等场景中的应用。通过优化冷启动、使用外部存储等实战技巧,开发者可以更好地利用Serverless架构提升开发效率和应用性能。随着技术的成熟,Serverless将在未来软件开发中扮演重要角色。
|
3月前
|
存储 监控 Serverless
函数计算发布功能问题之用户在使用主流函数计算产品的日志服务时可能会遇到使用成本的问题如何解决
函数计算发布功能问题之用户在使用主流函数计算产品的日志服务时可能会遇到使用成本的问题如何解决
|
3月前
|
存储 运维 Serverless
Serverless 支撑赛事转播问题之利用函数计算实现图片处理的实时性和成本节约如何解决
Serverless 支撑赛事转播问题之利用函数计算实现图片处理的实时性和成本节约如何解决
|
3月前
|
前端开发 大数据 数据库
🔥大数据洪流下的决战:JSF 表格组件如何做到毫秒级响应?揭秘背后的性能魔法!💪
【8月更文挑战第31天】在 Web 应用中,表格组件常用于展示和操作数据,但在大数据量下性能会成瓶颈。本文介绍在 JavaServer Faces(JSF)中优化表格组件的方法,包括数据处理、分页及懒加载等技术。通过后端分页或懒加载按需加载数据,减少不必要的数据加载和优化数据库查询,并利用缓存机制减少数据库访问次数,从而提高表格组件的响应速度和整体性能。掌握这些最佳实践对开发高性能 JSF 应用至关重要。
65 0
|
3月前
|
存储 设计模式 运维
Angular遇上Azure Functions:探索无服务器架构下的开发实践——从在线投票系统案例深入分析前端与后端的协同工作
【8月更文挑战第31天】在现代软件开发中,无服务器架构因可扩展性和成本效益而备受青睐。本文通过构建一个在线投票应用,介绍如何结合Angular前端框架与Azure Functions后端服务,快速搭建高效、可扩展的应用系统。Angular提供响应式编程和组件化能力,适合构建动态用户界面;Azure Functions则简化了后端逻辑处理与数据存储。通过具体示例代码,详细展示了从设置Azure Functions到整合Angular前端的全过程,帮助开发者轻松上手无服务器应用开发。
26 0

热门文章

最新文章

相关产品

  • 函数计算