App开发

thinkphp部署阿里云函数计算

阿里云的servless基本都是基于docker,需要配置cpu和内存,根据指标来做弹性伸缩,还是比较麻烦。

阿里云函数计算,基于代码块+运行环境,按执行资源收费,内部也是弹性伸缩,但运维人员完全无感。

1 开通阿里云函数计算

https://fc.console.aliyun.com/fc/applications/cn-shanghai

2 创建应用,选择php→Thinkphp框架

可以 使用示例代码包跑下demo,或者使用自己项目代码;

使用自己项目代码需要改造下代码,主要是代码目录为只读目录,需要把runtime设置到/tmp/目录

tp5设置示例:

namespace think; // ThinkPHP 引导文件 // 1. 加载基础文件 define('RUNTIME_PATH',  '/tmp/'); require __DIR__ . '/base.php'; // 2. 执行应用 App::run()->send();

tp6设置示例:

namespace think; require __DIR__ . '/base.php';

$app = new App();
$app->setRuntimePath('/tmp/');
$http = ($app)->http;
$response = $http->run();
$response->send();
$http->send($response);
Untitled
Untitled

3 部署测试

使用wrk简单压测了下,性能还是可以的:

wrk -d 10 -t 100 -c 1000 http://61763311-1577904969934260.test.functioncompute.com/

Untitled
Untitled

本地6c16G mbp:

Untitled
Untitled
Untitled
Untitled

tp应用跑起来后会链接数据库,性能差异有部分是数据库原因。

4 代码更新

目前发现只能支持手动更新代码包,或者oss;希望后续改进,直接支持代码库最好

5 常见问题

https://help.aliyun.com/document_detail/56103.html

那些快被玩烂的app推广方式:再不用就没机会了!
“新零售”大潮中,服饰品牌究竟如何为线下门店找新增量?

留言

您的邮箱会被保密处理. 必填字段 *