一元服务器(vps服务器1元永久)

1元学生服务器_如何购买1元学生服务器_1 元学生云服务器

本文旨在通过 快速部署一个 wordpress 网站到阿里云函数计算平台 这个示例来展示 serverless web 新的开发模式, 包括 FUN 工具一键初始化 NAS, 同步网站到 NAS, 一键部署等能力, 展现函数计算的开发敏捷特性、自动弹性伸缩能力、免运维和完善的监控设施。

相关参考文档:https://yq.aliyun.com/articles/640912

1.1 DEMO 概述

  • DEMO 示例效果入口: http://hz.mofangdegisn.cn
  • 账号: fc-test-user
  • 密码: fc-test-pwd
  • DEMO 示例工程地址: fc-wordpress

1.2 解决方案

一元建站-基于函数计算 + wordpress 构建 serverless 网站

如上图所示, 当多个用户通过对外提供的 url 访问web服务的时候时候,每秒的请求几百上千都没有关系, 函数计算平台会自动伸缩, 提供足够的执行实例来响应用户的请求, 同时函数计算提供了完善的监控设施来监控您的函数运行情况。

1.3 Serverless 方案与传统自建 web 方案对比

一元建站-基于函数计算 + wordpress 构建 serverless 网站

函数计算完整费用详情:

  • 每月前 100 万次函数调用免费, 每月前 400000(GB*秒) 费用免费, 函数的内存可以设置为 128M 或者 256M, 因此对于一个一个月访问量低于 100 万次的网站, 该项是免费的
  • 对于低成本的网站, 假设一个月的产生的公网流量为 1GB, 0.8元
  • NAS, US$0.06/GB/Month, 网站大小为 50M, 即使按 1G 计算, 0.42元
  • RDS mysql 最基本的单机版本, 25元/月

函数计算计费 | NAS 定价

如上所述, 在低成本网站领域, 函数计算具有十分明显的成本优势,同时还保持了弹性能力,以后业务规模做大以后并没有技术切换成本(可能需要做的只是更换一个更强的关系型数据库), 同时财务成本增长配合预付费也能保持平滑。低成本网站变成高可用高性能网站如丝般顺滑。

函数计算运行 PHP 框架原理

在具体操作部署之前, 先简单梳理一遍 函数计算运行 PHP 框架原理

2.1 传统服务器 PHP 运行原理

  • 原理示意图
一元建站-基于函数计算 + wordpress 构建 serverless 网站

  • A simple nginx conf
一元建站-基于函数计算 + wordpress 构建 serverless 网站

从上面原理示意图我们可以看出,Web 服务器根据 conf 中 location将 PHP 脚本交给 php-fpm 去解析,然后将解析后的结果返回给 client 端

2.2 FC 驱动 PHP 工程原理

一元建站-基于函数计算 + wordpress 构建 serverless 网站

  • 函数计算的执行环境实例相当于传统 web 服务的 Apache/Nginx
  • 用户函数相当于实现 Apache/Nginx 的 conf 中 location
  • 用户将 Web 网站部署在 NAS,然后挂载 NAS 到函数的执行环境, 比如下面代码中 /mnt/auto 目录
  • 对于 WordPress 入口函数代码就是这么简单: index.php
  • 其中函数计算为用户提供了一个 $GLOBALS[‘fcPhpCgiProxy’] 对象用来和 php-fpm 进行交互,对

PHP 工程中的 php 文件进行解析,该对象提供了两个重要的接口:

  • requestPhpCgi
 requestPhpCgi($request, $docRoot, $phpFile = "index.php", $fastCgiParams = [], $options = [])
  • $request: 跟 php http invoke 入口的参数一致
  • $docRoot: Web 工程的根目录
  • $phpFile: 用于拼接 cgi 参数中的 SCRIPT_FILENAME 的默认参数
  • $fastCgiParams: 函数计算内部尽量根据 $request给您构造 default cgi params, 但是如果您不是想要的,可以使用$fastCgiParams覆盖一些参数 (reference: cgi)
  • $options: array类型,可选参数, debug_show_cgi_params 设为 true ,会打印每次请求 php 解析时候的 cgi 参数, 默认为 false ;readWriteTimeout 设置解析的时间, 默认为 5 秒

如果您有兴趣, 可以了解下函数计算 PHP Runtime:

  • PHP 入口函数
  • PHP 执行环境

案例操作步骤

准备条件

有一个域名, 比如 abc.com, 并将域名 CNAME 解析到 函数计算(FC) 对应的 region

如您想在杭州的 region 部署 wordpres 网站, 则将 abc.com CNAME 解析到12345.cn-hangzhou.fc.aliyuncs.com, 其中 12345 是您的 accountId

3.1 安装最新的 Fun 工具

  • 安装版本为8.x 最新版或者10.x 、12.x nodejs
  • 安装 funcraf

3.2 Clone 工程

git clone https://github.com/awesome-fc/fc-wordpress.git

3.3 根据需要使用的数据库进入不同的目录

  • 复制 .env_example 文件为 .env, 并且修改 .env 中的信息为自己的信息

如果使用 mysql 数据库, 参考章节 3.3.1

如果使用 sqlite3 数据库, 参考章节 3.3.2

3.3.1 使用 mysql 数据库

  • 进入 目录 fc-wp-mysql
fun nas init
fun nas info

fun nas init: 初始化 NAS, 基于您的 .env 中的信息获取(已有满足条件的nas)或创建一个同region可用的nas

如果你没有修改 templata.yml 中的配置 service名字, 那么则可以进入下一步; 如果有修改, 会在当前目录生成新的目录 .fun/nas/auto-default/{serviceName} (fun nas info 可以列出新的目录), 将默认目录下的.fun/nas/auto-default/fc-wp-mysql/wordpress 的wordpress目录拷贝到 .fun/nas/auto-default/{serviceName} 下, 同时可以删除目录 .fun/nas/auto-default/fc-wp-mysql/wordpress

  • 上传 wordpress 网站到 NAS
fun nas sync
fun nas ls nas:///mnt/auto/

fun nas sync: 将本地 NAS 中的内容(.fun/nas/auto-default/fc-wp-mysql)上传到 NAS 中的 fc-wp-mysql 目录

fun nas ls nas:///mnt/auto/: 查看我们是否已经正确将文件上传到了 NAS

3.3.2 使用 sqlite3 数据库

  • 进入 目录 fc-wp-sqlite
fun nas init
fun nas info

fun nas init: 初始化 NAS, 基于您的 .env 中的信息获取(已有满足条件的nas)或创建一个同region可用的nas

如果你没有修改 templata.yml 中的配置 service名字, 那么则可以进入下一步; 如果有修改, 会在当前目录生成新的目录 .fun/nas/auto-default/{serviceName} (fun nas info 可以列出新的目录), 将默认目录下的.fun/nas/auto-default/fc-wp-sqlite/wordpress 的wordpress目录拷贝到 .fun/nas/auto-default/{serviceName} 下, 同时可以删除目录 .fun/nas/auto-default/fc-wp-sqlite/wordpress

  • 本地完成安装过程, 初始化 sqlite3 数据库
  • 在目录 .fun/nas/auto-default/fc-wp-sqlite/wordpress 中输入命令:
php -S 0.0.0.0:80
  • 修改 host 文件,添加 127.0.0.1 hz.mofangdegisn.cn
  • linux/mac : vim /etc/hosts
  • windows7: C:WindowsSystem32driversetc

其中 hz.mofangdegisn.cn 是您预先准备的域名

  • 通过浏览器输入 hz.mofangdegisn.cn, 这个时候没有mysql数据库设置页面,完成 wordpress 安装过程

成功安装以后, 这个时候,.fun/nas/auto-default/fc-wp-sqlite/wordpress/wp-content 下面应该有一个 database 的目录, ls -a 查看, 应该有 .ht.sqlite 这个 sqlite3 数据库文件

  • 回退 host 文件的修改

注: 中间修改 host 的目的是初始化 sqlite3 数据库的时候, base site url 是提前准备的域名, 而不是 127.0.0.1

  • 上传 wordpress 网站到 NAS
fun nas sync
fun nas ls nas:///mnt/auto/

fun nas sync: 将本地 NAS 中的内容(.fun/nas/auto-default/fc-wp-sqlite)上传到 NAS 中的 fc-wp-sqlite 目录

fun nas ls nas:///mnt/auto/: 查看我们是否已经正确将文件上传到了 NAS

3.4 部署函数到FC平台

接下来将函数部署到云平台:

  • 修改 index.php 中的 $host 中的值
  • 修改 template.yml LogConfig 中的 Project, 任意取一个不会重复的名字即可
  • 修改 template.yml 自定义域名为自己提前准备好的域名
  • 执行 fun deploy

登录控制台https://fc.console.aliyun.com,可以看到service 和 函数已经创建成功, 并且 service 也已经正确配置。

通过浏览器打开自己之前配置的域名, 比如本例中的 hz.mofangdegisn.cn

  • mysql 版本数据库, 可以直接跟传统的 wordpress 一样,直接进入安装过程
  • sqlite3 版本数据库, 由于之前已经完成初始化,可以直接进入网站首页或网站后台

FAQ

Q1: 函数计算能开发高性能高可用网站吗?

A: 可以, 只要连接的数据库性能足够, 有必要再配合预留实例消除冷启动就足够高 qps 的 web 网站了。

Q2: 使用低成本 sqlite3 版本的网站, 冷启动第一次打开很慢怎么办?

A: 用一个 timer trigger 的函数 keep warm

Q3: 使用低成本 sqlite3 版本的网站, 能支持多大的qps?

A: 由 sqlite3 数据库性能决定, 这边有一些压测结果:

一元建站-基于函数计算 + wordpress 构建 serverless 网站

一元建站-基于函数计算 + wordpress 构建 serverless 网站

每次压力增大时候, 都有些冷启动,时间慢点,但是支持从压测结果来看支持 50 QPS 是没有疑问的, 是足够支持一些中小网站的。

Q3: 使用其他语言基于函数计算开发 serverless 网站可以吗?

A: 可以, 比如 python:https://yq.aliyun.com/articles/603249 , 或者直接使用 custom runtime, 内置了 java、python 和 node, Custom Runtime 用户手册

(0)
海淘直接的头像海淘直接注册用户

相关推荐

  • 健身餐做法?(健身餐做法)

    你们好,最近小活发现有诸多的小伙伴们对于健身餐做法?,健身餐做法这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。1、先准备食材。2、先将金针菇和豆皮放入开水中煮熟。3、然后将豆皮切丝,金针菇撕成小份放入碗中备用。

    2023年9月25日
  • 第一款滑盖智能手机,它的特点和优势是什么

    作为智能手机的一种,滑盖智能手机在当时可谓是一种非常流行的手机类型。其最大的特点就是可以通过滑盖来控制手机的开启和关闭,同时还可以保护手机屏幕和键盘不受损坏。而第一款滑盖智能手机,则是这种手机类型的先驱者。在本文中,我们将会探讨第一款滑盖智

    2024年2月6日
  • 大气而涵养的男孩名字

    1、庆霆2、君磊3、新度4、亦成5、皓皓6、飞翼7、麟衡8、瑜振9、水辉10、聪强11、函轩12、少勇13、贤轩14、聪伦15、涛震16、贝震17、凡铸18、仲翊19、皿维20、炫彬21、阳泉22、

    2024年1月20日
  • 冬虫夏草怎么吃(虫草怎样吃效果最好)

    虫草虫草甘平,归肺肾经,有补肺益肾、止咳定喘、止血化痰的功效,可以治疗久咳虚喘、劳嗽咳血。还可以治疗久咳虚喘、劳嗽痰血等,单独使用即可见效,煎汤内服用量在5g-15g之间,应注意有表邪患者不宜服用。优质回答(1)1.补肾益精功效:虫草具有补

    资讯 2023年7月24日
  • 这个季节卖什么水果

    给你几种比较常见的水果和最适销售季节参考下。我喜欢草莓哦。1.草莓:春季到夏季是草莓成熟的季节,这个时候市场供应充足,消费者购买容易,是草莓销售的最好时期。2.西禅腊瓜:西瓜在夏季指袭核成熟,夏季天气炎热,消费者会更加愿意购买水准果

    2024年2月16日
  • 女生身体敏感是因为太频繁吗(为什么男人喜欢女人叫)

    女生越叫痛男生越有冲劲我们所说的“快感”,常常是与性生活时达到或即将达到性高潮时的一种状态联系在一起的,或被认为是一种“极度舒服”的感觉。正常情况下,白带由前庭大腺、子宫颈腺体、子宫内膜等处的分泌物和阴道黏膜渗出液、脱落的阴道上皮细胞等成分

    资讯 2023年7月29日
  • 血小板计数偏高(血小板计数偏高)

    血小板计数偏高血小板计数偏高是指外周血中血小板的数量超出了正常范围,如果血小板数量轻度偏高,并且伴有感染、发热、出血以及外伤等情况,很可能是由于这些因素引起血小板反应性增高,这种情况下一般不需要特殊处理,只要诱发因素祛除,血小板的数量就会逐

    资讯 2023年6月2日
  • 姜千雪纪年结局是什么 姜千雪纪年免费阅读全文

    姜千雪纪年是著名作者佚名成名小说作品中的主人翁,书中剧情紧凑精彩,没有勾心斗角,轻虐深恋,完美的恰到好处。一起来看看小说简介吧!“亡夫死时年仅三十,小女归雪更是早夭,如今将军府只剩我和繁霜。”“繁霜生来性傲,从小便立志杀尽………

    2023年11月8日
  • ebay日本购物网站(日本购物网站kakaku)

    大家好,本篇文章为大家解答以上问题,相信很多人对ebay日本购物网站都不是特别的了解,因此呢,今天就来为大家分享下关于ebay日本购物网站以及日本购物网站kakaku的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

    2023年8月30日
  • id4x内饰配色哪个好看(aj34哪个配色好看)

    各位网友们好,相信很多人对id4x内饰配色哪个好看都不是特别的了解,因此呢,今天就来为大家分享下关于id4x内饰配色哪个好看以及aj34哪个配色好看的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

    2023年7月19日
  • 皖南属于哪里

    今日给大家引见一下皖南属于那里吧,小编也是在网上进修了很多关于皖南属于那里的常识,下面给大家来个常识精髓总结。皖南地域是指中国安徽省南部的一个行政区域,天然情况和人文历史极端丰富,包含宣城,黄山,池州和安庆四个市辖区,下文将具体引见皖南的天

    2023年10月4日
  • 配方(数学里的配方法是什么)

    大家好,本篇文章为大家解答以上问题,相信很多人对配方都不是特别的了解,因此呢,今天就来为大家分享下关于配方以及数学里的配方法是什么的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

    2023年8月1日
  • 李永智(对于李永智简单介绍)

    小伙伴们,你们好,今天云生来聊聊一篇关于李永智,对于李永智简单介绍的文章,网友们对这件事情都比较关注,那么现在就为大家来简单介绍下,希望对各位小伙伴们有所帮助。1、李永智,男,1964年1月出生。2、汉族,中共党员,本科学历。3、临夏州畜

    2023年10月4日
  • 春望古诗(《春望》原文及翻译)

    各位网友们好,相信很多人对春望古诗都不是特别的了解,因此呢,今天就来为大家分享下关于春望古诗以及《春望》原文及翻译的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

    2023年6月27日
  • 高级的土味情话表白套路

    1、你这么可爱!被大风吹到我怀里,我是不会还的。 2、我想在你那买块地。什么地?买你的死心塌地。 3、猜猜看我的心脏在哪边?在左边。错了,我的心在你那边。 4、你累不累?你在我脑子…

    美文 2022年3月29日