开发者学堂课程【存量应用快速迁移:PHP 应用迁移】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/342/detail/4018
PHP应用迁移
PHP应用迁移是通过容器型方案完成。
容器型搬站,支持存量应用尽可能少或者无需任何侵入性修改即可通过本平台把应用部署到Serverless计算服务当中。基于容器统一的交付方式,应用可以根据实际需要选用:FC、SAE、ASK计算服务。
下面是PHP应用迁移的相应流程:
首先打开云开发平台的快速开始页面,然后点击应用搬站,选择PHP语言容器型。应用名称可随便设置,然后计算服务是FC,后面都选用默认的选项,点击下一步,最后完成创建。
创建完成之后,会默认进入到搬站帮助里面,但是接下来需要切到开发部署页,打开IDE。打开之后,已经内置了一个thinkphp的框架,
下面介绍如何使用或如何配置自己的应用:如果自己有应用,需要把本地的应用直接选中拖拽IDE里。接下来需要注意的是,Dockerfile以及Parpre.sh。
Dockerfile是运行时的镜像配置文件,这边采用的云开发平台提供的PhP7.2版本的一个镜像,这个镜像里面已经内置PNP、FPM等一系列的基础配置,然后把当前的本地目录文件全都拷贝到这个容器里面的一个工作目录里,然后导出8080这个端口,记住服务一定只会导出8080这个端口,最后启动start.sh shell脚板。可是当前目录里面实际上是没有start这个shell的。那么是如何产生的,实际上就是在部署构建过程中,由部署工作流来执行prepare shell这个脚本,从而产生了一个start.shell文件,我们看到刚开始就产生了一个start.shell文件,然后我们设置一个环境变量,最后是启动php服务。
开发者可能仅仅需要在自定义启动命令这里,实现自己的业务逻辑,比如Dockerfile里的业务逻辑很简单,就是启动了PHP、FPM以及nginx等这两个进程,同时把nignx访问日志以及错误日全都输出,这样可以方便查看这个日志。
如果有自己定义的对nignx的配置或者FPM的配置有自定义的需求,那么可以参考readme,readme的后部分其实已经展示出来默认的nignx配置以及默认的FPM的配置。
如果想要使用自己的配置文件,那么修改Dockerfile,把自己的两个文件覆盖一下,其实就可以了。那么到这里,其实业务已经迁移完成了,之后需要进行部署部署。
部署直接点击左上角插件,选择对应环境和灰度部署上线即可。
部署流程主要耗时在镜像构建,这个流程比较慢,整体部署需要两到三分钟。
部署完成之后可以访问测试域名,测试域名在根路径下是404
但是访问thinkphp.demo里pubblic.indenx.php这个页面,输入test1yleeq12n53lceMldo7i.workbenchapl.com/thinkphp-demoypubllic/indexe php就可以访问到首页。