通过 Serverless Framework Laravel 组件,可以快速实现 Laravel 应用从本地到 Serverless 函数平台的迁移。
已经 安装 Serverless Framework 1.67.2 以上版本。
如果您的账户为腾讯云子账号,请首先联系主账号,参考 账号和权限配置 进行授权。
Laravel 组件将在腾讯云账号中使用到如下 Serverless 服务:
以下步骤主要针对命令行部署操作,控制台部署请参考控制台部署指南。
如果您本地并没有 Laravel 项目,可通过以下指令完成 Laravel 项目初始化(本地已有项目可跳过该步骤)
serverless init laravel-starter --name example
cd example
由于云函数在执行时,只有 /tmp
可读写的,所以我们需要将 laravel
框架运行时的 storage
目录写到该目录下,为此需要修改 bootstrap/app.php
文件,在 $app = new Illuminate\Foundation\Application
后添加:
$app->useStoragePath(env('APP_STORAGE', '/tmp'));
然后在根目录下的 .env
文件中新增如下配置:
# 视图文件编译路径
VIEW_COMPILED_PATH=/tmp/storage/framework/views
# 由于是无服务函数,所以没法存储 session 在硬盘上,如果不需要 sessions,可以使用 array
# 如果需要你可以将 session 存储到 cookie 或者数据库中
SESSION_DRIVER=array
# 建议将错误日志输出到控制台,方便云端去查看
LOG_CHANNEL=stderr
# 应用的 storage 目录必须为 /tmp
APP_STORAGE=/tmp
在项目根目录下,新建 serverless.yml
文件,并将下列配置模版粘贴到文件中,实现基本的项目配置。
基于您实际部署需要,您可以在
serverless.yml
中完成更多配置,yml 文件的配置信息请参考 Laravel 组件全量配置
touch serverless.yml
# serverless.yml
component: laravel
name: laravelDemo
org: orgDemo
app: appDemo
stage: dev
inputs:
src: ./
region: ap-guangzhou
runtime: Php7
apigatewayConf:
protocols:
- http
- https
environment: release
通过 sls deploy
命令进行部署,并可以添加 --debug 参数查看部署过程中的信息。
sls deploy --debug
部署完成后,通过访问输出的 API 网关链接,完成对应用的访问。
部署完成后,您可以通过访问 Serverless 应用控制台,查看应用的基本信息,监控日志。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。