SCF函数计算镜像部署webman业务
例子:在webman框架中编写一个发送邮件业务的接口,并且部署到云函数上
腾讯云SCF特点,全局只读,只有/tmp可写
1: 编写代码,修改代码
2: 本地测试运行
3: 编写dockerfile, 推送到腾讯云镜像仓库
4: 构建docker镜像,并且推送到腾讯云镜像仓库
5: 部署到SCF
6: 测试
1: 编写代码,修改代码
1.1 下载webman https://www.workerman.net/doc/webman#/install
1.2 修改 start.php cli启动文件(因为上面说了 全局只读,workerman有一个log日志文件默认写入)
1 | if(!file_exists(runtime_path().'/logfile')){ |
1.3 删除 /config/route.php 默认路由(不删除 不存在的路由会报错,无法启动框架)
1.4 修改 /config/server.php 默认的http监听端口,通过server_listen环境变量传入
1.5 composer安装 PHPMailer/PHPMailer拓展,并且开始写业务代码
env() 函数来获取 环境变量,包括SCF传入的环境变量
1 |
|
2: 本地测试
1 | php start.php start 本地启动框架 |
HTTP测试成功
3:编写dockerfile
1 | FROM qqfirst/webman |
4: 开始docker构建
4.1 在这之前,我们去腾讯云 镜像仓库开通一个仓库 scf_webman_mail
根据仓库提示,我们的完整 命名空间是 ccr.ccs.tencentyun.com/pepper/scf_webman_mail
4.2 开始docker 构建
1 | docker build -t ccr.ccs.tencentyun.com/pepper/scf_webman_mail . |
4.3 构建完毕后 推送腾讯仓库。(新机器需要 docker login 登陆,请自己了解腾讯云镜像仓库)
1 | docker push ccr.ccs.tencentyun.com/pepper/scf_webman_mail |
5: 部署到SCF
检查下,大概就是这样
6: HTTP测试
你看我就说 64Mb内存足够了,运行时间1ms,多亏了workerman框架 拯救了php-fpm的”慢”
SCF函数计算镜像部署webman业务
https://captainstdin.github.io/2021/09/05/2021-09-05-SCF函数计算镜像部署webman业务/