iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >轻松搭建基于 Serverless 的 ThinkPHP 应用
  • 467
分享到

轻松搭建基于 Serverless 的 ThinkPHP 应用

2023-06-04 13:06:12 467人浏览 薄情痞子
摘要

首先介绍下在本文出现的几个比较重要的概念:函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而

轻松搭建基于 Serverless 的 ThinkPHP 应用

首先介绍下在本文出现的几个比较重要的概念:

函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。函数计算更多信息 参考。
Fun: Fun 是一个用于支持 serverless 应用部署的工具,能帮助您便捷地管理函数计算、api 网关、日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建、部署操作。Fun 的更多文档 参考。

备注: 本文介绍的技巧需要 Fun 版本大于等于 3.6.3。

轻松搭建基于 Serverless 的 ThinkPHP 应用

ThinkPHP 是什么?

Thinkphp 是一个免费开源的,快速、简单的面向对象的轻量级 PHP 开发框架,是为了敏捷 WEB 应用开发和简化企业应用开发而诞生的。ThinkPHP 从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简代码的同时,更注重易用性。遵循 Apache2 开源许可协议发布,意味着你可以免费使用 ThinkPHP,甚至允许把你基于 ThinkPHP 开发的应用开源或商业产品发布/销售。

效果预览

本文涉及到的两个应用示例部署后的链接,点击预览效果:

  1. ThinkPHP 官方示例:Http://13492727-1986114430573743.test.functioncompute.com
  2. ThinkPHP 博客示例:http://13500180-1986114430573743.test.functioncompute.com
  3. ThinkPHP 博客示例管理后台:http://13500180-1986114430573743.test.functioncompute.com/admin

环境准备

首先按照 Fun 的安装文档里介绍的方法将 Fun 安装到本机。

PS: 本文介绍的方法,不需要安装 Docker,仅仅安装 Fun 即可,最简单的方式就是直接下载可执行的二进制文件。

安装完成后,可以执行 fun —version 检查 Fun 是否安装成功。

第一个示例:快速初始化并部署一个 ThinkPHP 示例应用

初始化一个 thinkphp 示例:

composer create-project topthink/think tp

将该示例在本地运行测试

php think run

可以在本地看到效果:

轻松搭建基于 Serverless 的 ThinkPHP 应用

传统的开发方式是,本地开发完成后,就要进行部署工作了,通常我们部署一个 PHP 应用可能需要如下几步:

  1. 购买一台物理机器,比如 ECS
  2. 在物理机器上绑定公网 ip、安装 php、Nginx、php-fpm
  3. 配置 nginx、php-fpm 以及上传应用到该机器上
  4. 运行测试

其中最复杂的就要数第 2、3 步了,因为可能不同的环境的配置方法还不一样,会有比较多的坑。我们演示下如何将应用部署到函数计算上。

fun deploy

仅需要一个命令,Fun 会自动进入部署流程,在该流程中,用户仅仅需要按下一系列的回车即可。流程细节如下:

  1. Fun 检测到这不是一个 Fun 项目,会提示协助创建(直接回车或者输入 y 即可)
    轻松搭建基于 Serverless 的 ThinkPHP 应用
  2. Fun 项目自动创建成功,提示是否进行部署?可以直接回车,或者输入 y 进行确认
    轻松搭建基于 Serverless 的 ThinkPHP 应用
  3. 然后 Fun 会直接将应用部署到线上了
    轻松搭建基于 Serverless 的 ThinkPHP 应用

部署完成后,我们可以根据部署成功的日志看到,函数计算为我们生成了临时域名 13492727-1986114430573743.test.functioncompute.com,我们可以通过这个临时域名直接访问我们刚刚部署的应用。

备注:临时域名仅仅用作演示以及开发,是有时效的,如果用作生产,请绑定已经备案的域名。

第二个示例:快速迁移一个已有的 ThinkPHP 应用

这里我们拿一个开源的 ThinkPHP 博客做示例:https://GitHub.com/wolf-leo/Wolf-Blog

首先我们需要将 blog 克隆下来:

git clone https://github.com/wolf-leo/Wolf-Blog.git

使用 composer 安装依赖:

composer install

在要使用的 mysql 数据库上新建一个名为 blog_test 的 database。然后编辑 config/database.php 文件,修改其中的数据库地址、用户名、密码信息。

// ... ...return [    // ... ...    // 服务器地址    'hostname' => '192.168.17.104',    // 数据库名 测试数据库名称 不用修改 否则默认安装会出错    'database' => 'blog_test',    // 用户名  需要修改的地方    'username' => 'root',    // 密码     需要修改的地方    'passWord' => 'root',    // ... ...];

修改完成后,就可以本地启动查看效果了:

$ php think runThinkPHP Development server is started On <http://127.0.0.1:8000/>You can exit with `CTRL-C`Document root is: /examples/php/Wolf-Blog/public

然后打开 http://localhost:8000 可以直接看到效果。

轻松搭建基于 Serverless 的 ThinkPHP 应用

本地测试没问题后,就要进行部署了。部署前,我们需要知道,由于函数计算运行时代码目录本身是不可以修改的,而 ThinkPHP 会在代码目录下的 Runtime 这个目录写一些缓存文件,我们需要将这个缓存文件放到 /tmp 下面。在我们的例子中就是将 thinkphp/library/think/App.php 这个文件的第 174 行做如下修改:

- $this->runtimePath = $this->rootPath . 'runtime' . DIRECTORY_SEPARATOR;+ $this->runtimePath = DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR;

修改完成后可以直接使用以下命令进行部署:

fun deploy

经历与第一个示例一样的步骤后,我们可以得到一个可以访问的临时域名进行测试:13500180-1986114430573743.test.functioncompute.com。打开该临时域名,可以预览到与本地运行一样的效果。

还可以访问 13500180-1986114430573743.test.functioncompute.com/admin 打开该应用的管理后台:

轻松搭建基于 Serverless 的 ThinkPHP 应用

总结

本文主要介绍了如何将 ThinkPHP 应用部署到函数计算。相比较与传统的部署方法,不仅没有更复杂,还省略了购买机器、安装配置 Nginx、安装配置 php-fpm 等步骤。可以实现,将传统的 ThinkPHP 应用在本地开发完成后,一键部署到远端直接用于生产,并拥有了弹性伸缩、按量付费、免运维等特性。

如果您在迁移您的应用过程中遇到了问题,欢迎加入我们的 dingding 群 11721331 反馈。

“阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术圈。”

--结束END--

本文标题: 轻松搭建基于 Serverless 的 ThinkPHP 应用

本文链接: https://www.lsjlt.com/news/238084.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 轻松搭建基于 Serverless 的 ThinkPHP 应用
    首先介绍下在本文出现的几个比较重要的概念:函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而...
    99+
    2023-06-04
  • 轻松搭建基于 Serverless 的 Egg.js Web 应用
    首先介绍下在本文出现的几个比较重要的概念:函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而...
    99+
    2023-06-04
  • 怎么轻松搭建基于Serverless的Go应用
    怎么轻松搭建基于Serverless的Go应用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。首先介绍下在本文出现的几个比较重要的概念:函数计算(Function Compu...
    99+
    2023-06-04
  • 揭秘 Serverless Framework 的秘密:让 Node.js 应用轻松上云
    Serverless Framework 是一款开源框架,它使开发人员能够在 AWS、Azure 和 Google Cloud 等主流云平台上轻松构建、部署和管理无服务器 Node.js 应用。通过利用无服务器架构,应用可以按实际使用量...
    99+
    2024-03-02
    Serverless Framework、Node.js、云部署、无服务器架构
  • 轻量应用服务器基于Cloud Studio搭建云端IDE环境
    Cloud Studio是一个基于浏览器的云端IDE,用户可以在浏览器中进行开发、调试和部署应用程序。要搭建一个轻量的应用服务器基于...
    99+
    2023-09-21
    服务器
  • 怎么使用flask轻松搭建mock服务
    本篇内容主要讲解“怎么使用flask轻松搭建mock服务”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用flask轻松搭建mock服务”吧!做过接口测试的...
    99+
    2024-04-02
  • 使用pipenv轻松搭建可靠的开发环境
    使用pipenv环境轻松构建可靠的开发环境 开发环境的构建对于开发人员来说非常重要。一个稳定、可靠且易于管理的开发环境能够提高开发效率,减少错误和冲突。在Python项目的开发中,pipenv是一个非常有用的工具,它能轻松帮助我...
    99+
    2024-01-16
    开发环境 pipenv 环境构建
  • 函数计算搭建 Serverless Web 应用(一)- HTTP 触发器
    摘要:            Web 应用(Serverless web backend) 是函数计算很重要的一个使用场景。相比于传统的在服务器上搭建 web 应用,函数计算无需您...
    99+
    2023-06-05
  • 阿里云租赁服务器如何轻松搭建云端应用
    随着云计算技术的发展,越来越多的企业和个人开始选择租赁服务器来搭建自己的云端应用。然而,对于很多初学者来说,如何选择租赁服务器,如何进行服务器的配置和管理,都是一大难题。本篇文章将详细解释如何租赁阿里云服务器,以及如何使用阿里云服务器进行云...
    99+
    2023-12-09
    阿里 云端 轻松
  • 基于ThinkPHP的云盘系统Cloudreve本地搭建并实现远程访问
    文章目录 1、前言2、本地网站搭建2.1 环境使用2.2 支持组件选择2.3 网页安装2.4 测试和使用2.5 问题解决 3、本地网页发布3.1 cpolar云端设置3.2 cpola...
    99+
    2024-01-21
    php
  • ASP MVC:入门指南,轻松搭建你的第一个Web应用程序
    关于ASP MVC ASP MVC是一个开源的Web应用程序框架,由微软开发。它使用MVC(Model-View-Controller)模式,将应用程序分为模型、视图和控制器三个部分,使得应用程序更容易组织和维护。 入门ASP MVC ...
    99+
    2024-02-24
    ASP MVC Web应用程序 C# 入门 教程
  • 使用Docker Compose轻松搭建PHP开发环境
    随着时代的发展,开发环境搭建越来越迅速高效。而Docker Compose作为一种容器编排工具,可以让我们轻松地配置和管理多个Docker容器,从而快速搭建PHP开发环境。本文将介绍如何使用Docker Compose搭建PHP开发环境,并...
    99+
    2023-10-21
    Docker PHP compose
  • Golang+Vue轻松构建Web应用的方法步骤
    目录介绍项目结构后端结构前端结构一些细节为什么使用JWT缓存实现请求限流从零开发前端运行总结最近疫情在家,空闲时间比较多,整理下之前写的Golang项目Weave,补充了一些功能,加...
    99+
    2024-04-02
  • 基于GTID的主从复制搭建
    前置检查server-id = 10,master/slave不允许重复log-bingtid-mode = ONenforce-gtid-consistency = ON1,利用mysqlpump复制ma...
    99+
    2024-04-02
  • 轻量应用服务器搭建ip
    轻量应用服务器通常可以采用基于Linux或者Unix系统的服务器搭建,这些服务器通常具备以下特点: 可扩展性高:轻量应用服务器具有高的可扩展性,可以根据用户的需求进行模块化和插件化设计,以满足用户的个性化需求。 高性能:由于采用了轻量化...
    99+
    2023-10-26
    服务器 ip
  • 轻量应用服务器搭建sk5
    轻量应用服务器搭建 (SPA) 可以使用 CloudFlare 或 Xen 来实现 SaaS 应用。下面是一些基本步骤: 准备工作:了解您的应用程序的需求、组件和资源,包括服务器、数据库、存储等。确保您拥有所需的基础架构和工具来帮助您完...
    99+
    2023-10-26
    服务器
  • 轻量应用服务器搭建nps
    轻量应用服务器是一种可以将大型应用程序的功能分解成小型模块的服务器,这些模块可以被安装在云端或本地部署。轻量应用服务器的特点是低内存占用、可扩展性和高性能。下面是一些可能用于轻量应用服务器的技术: Nutanix Web Storage...
    99+
    2023-10-26
    服务器 nps
  • 轻量应用服务器搭建ssr
    轻量应用服务器搭建ssr主要是通过搭建服务器集群来实现的。以下是一个简单的例子,说明如何搭建轻量应用服务器: 首先,确定所需使用的虚拟化平台,可以是VMware、OpenStack、Hyper-V等。然后,选择合适的服务器硬件配置。对于虚...
    99+
    2023-10-26
    服务器 ssr
  • 轻量应用服务器搭建mc
    ...
    99+
    2023-10-26
    服务器 mc
  • 轻量应用服务器IP搭建
    轻量应用服务器IP搭建需要遵循一定的原则,下面是一些建议: 确保目标设备的IP地址与您的网络设备(例如:路由器或服务器)相匹配。这样可以保证路由器或服务器上的IP地址对应于您的目标设备。 选择正确的设备类型。如果您选择的是小型企业,那么...
    99+
    2023-10-26
    服务器 IP
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作