阿里云函数计算运行PHP框架原理及操作步骤分析
2023-10-09
本文旨在通过快速部署网站到阿里云函数计算平台的例子来演示Web的新开发模式,包括FUN工具一键初始化NAS、网站同步到NAS、一键部署、等等,并展示了函数计算的开发敏捷性。 、自动弹性扩展、免运维、监控设施齐全。
相关参考文档:
1.1 演示概述
1.2 解决方案
如上图所示,当多个用户通过外部提供的 URL 访问 Web 服务时,每秒的请求数是数百还是数千并不重要。 函数计算平台将自动扩展并提供足够的执行实例来响应用户请求。 ,同时函数计算提供了完善的监控设施来监控你函数的运行情况。
1.3 方案与传统自建Web方案对比
函数计算全部成本详细信息:
函数计算计费| 网络存储定价
如上所述,在低成本网站领域,函数计算具有非常明显的成本优势php 统计网页访问量代码,同时又保持了灵活性。 未来业务规模变大时,不会产生技术转换成本(可能只需更换为更强的关系型数据库),而通过预付费,财务成本增长也能保持平稳。 将低成本网站顺利转变为高可用、高性能网站。
函数计算运行PHP框架原理
在具体操作和部署之前,我们先简单回顾一下PHP框架在函数计算上运行的原理。
2.1 传统服务器PHP运行原理
从上面的示意图我们可以看到,Web服务器根据conf将PHP脚本交给php-fpm进行解析,然后将解析结果返回给客户端。
2.2 FC驱动的PHP工程原理
解析PHP项目中的PHP文件。 该对象提供了两个重要的接口:
requestPhpCgi($request, $docRoot, $phpFile = "index.php", $fastCgiParams = [], $options = [])
如果有兴趣可以学习一下函数计算PHP:
案例操作步骤
准备条件
例如有一个域名,将域名解析到函数计算(FC)对应的
如果你想把网站部署在杭州,那么就解决了网站优化,你的网站在哪里?
3.1 安装最新的Fun工具
3.2 工程
git
3.3 根据需要使用的数据库进入不同的目录
如果使用数据库,请参阅第 3.3.1 节
如果使用数据库,请参阅第 3.3.2 节
3.3.1 使用数据库
fun nas init fun nas info
fun nas init:初始化NAS,根据你的.env中的信息获取(已经有满足条件的nas)或者创建一个同等可用的nas
如果没有修改.yml中的配置名称,可以进入下一步; 如果修改过,会在当前目录下生成一个新目录。 fun/nas/auto-/{}(fun nas info可以列出新目录)php 统计网页访问量代码,将默认目录下的目录.fun/nas/auto-/fc-wp-/复制到.fun/nas/auto-/{ },并删除目录.fun/nas/auto-/fc- wp-/
fun nas sync fun nas ls nas:///mnt/auto/
fun :将本地NAS中的内容(.fun/nas/auto-/fc-wp-)上传到NAS中的fc-wp-目录
fun nas ls nas:///mnt/auto/: 检查我们是否正确上传文件到NAS
3.3.2 使用数据库
fun nas init fun nas info
fun nas init:初始化NAS,根据你的.env中的信息获取(已经有满足条件的nas)或者创建一个同等可用的nas
如果没有修改.yml中的配置名称,可以进入下一步; 如果修改过,会在当前目录下生成一个新目录。 fun/nas/auto-/{}(fun nas info可以列出新目录),将默认目录下的目录.fun/nas/auto-/fc-wp-/复制到.fun/nas/auto-/{ },并删除目录.fun/nas/auto-/fc- wp-/
php -S 0.0.0.0:80
你提前准备好的域名在哪里
安装成功后,此时.fun/nas/auto-/fc-wp-//wp-下面应该有一个目录。 使用 ls -a 检查。 应该有一个.ht。 数据库文件。
注意:中间修改host的目的是为了初始化数据库。 基站url是提前准备好的域名,不是127.0.0.1
fun nas sync fun nas ls nas:///mnt/auto/
fun :将本地NAS中的内容(.fun/nas/auto-/fc-wp-)上传到NAS中的fc-wp-目录
fun nas ls nas:///mnt/auto/: 检查我们是否正确上传文件到NAS
3.4 将功能部署到FC平台
接下来将函数部署到云平台:
登录控制台可以看到 和 函数已经成功创建并且配置正确。
通过浏览器打开你之前配置的域名,比如本例
常问问题
Q1:函数计算可以开发高性能、高可用的网站吗?
A:是的,只要连接的数据库性能足够,需要配合预留实例消除冷启动,对于高qps的网站来说就足够了。
Q2:低价版网站冷启动时首次打开速度很慢怎么办?
A:使用保暖功能
Q3:低价版网站能支持多少qps?
答:这取决于数据库性能。 以下是一些压力测试结果:
每次压力增加都会有一些冷启动seo优化,时间也会变慢。 不过从压测结果来看,毫无疑问支持,足以支持一些中小型网站。
Q3:是否可以使用其他语言来开发基于函数计算的网站?
A:可以,例如:,或者直接使用,内置java、node、用户手册