文档

将PHP应用部署到SAE 1.0

更新时间:

本文提供一个Demo应用(欢迎网页程序)ZIP包,帮助您快速体验如何通过控制台将PHP应用部署至Serverless 应用引擎 SAE(Serverless App Engine),并进行公网通信。

前提条件

  1. 开通SAE服务

  2. 创建安全组

计费说明

SAE支持免费开通服务,开通后使用资源会按照实际使用量进行计费。更多信息,请参见计费概述

SAE为新用户提供vCPU 48000核*分钟(即800核*时)、内存96000 GiB*分钟(即1600GiB*时),有效期3个月的免费试用额度。超出有效期和试用额度的部分均会计入按量计费。新用户领取的具体操作,请参见免费试用

获取Demo

您可以按需选择以下Demo。

PHP原生

下载hello-sae-php.zip。解压后,可获得Nginx与PHP代码文件。具体说明,请参见PHP ZIP打包说明

解压后的目录结构如下。

.
├── nginx
│ ├── default.conf
│ ├── fastcgi_params
│ └── root.dir
└── php
│ ├── index.php
│ └── phpinfo.php

Laravel 8.x

下载hello-sae-php-laravel.zip。解压后,可获得Nginx与PHP代码文件。PHP运行环境的具体说明,请参见PHP ZIP打包说明

针对Laravel框架配置说明,参考如下。具体可查看/nginx/php目录下的文件内容。

  • PHP应用代码,存放路径为/home/admin/app/php/public

  • Nginx应用配置,存放路径为/home/admin/app/nginx,引用方式为include conf.d/fastcgi_params;

  • Nginx系统配置,存放路径为/etc/nginx

解压后的目录结构如下。

.
├── nginx                       # 存放路径/home/admin/app/nginx/
│ ├── default.conf
│ ├── fastcgi_params            # 引用方式include conf.d/fastcgi_params;
│ └── root.dir
├── php                         # 存放路径/home/admin/app/php
│ ├── README.md
│ ├── app
│ ├── artisan
│ ├── bootstrap
│ ├── composer.json
│ ├── composer.lock
│ ├── config
│ ├── database
│ ├── package.json
│ ├── phpunit.xml
│ ├── public                    # Laravel框架默认目录,配置为nginx root
│ ├── resources
│ ├── routes
│ ├── server.php
│ ├── storage
│ ├── tests
│ ├── vendor
│ └── webpack.mix.js

ThinkPHP 6

下载hello-sae-php-thinkphp.zip。解压后,可获得Nginx与PHP代码文件。PHP运行环境的具体说明,请参见PHP ZIP打包说明

针对ThinkPHP框架配置说明,参考如下。具体可查看/nginx/php目录下的文件内容。

  • PHP应用代码,存放路径为/home/admin/app/php/public

  • PHP应用入口,存放路径为/home/admin/app/php/public/index.php

  • Nginx应用配置,存放路径为/home/admin/app/nginx,引用方式为include conf.d/fastcgi_params;

  • Nginx系统配置,存放路径为/etc/nginx

解压后的目录结构如下。

.
├── nginx                       # 存放路径 /home/admin/app/nginx/
│ ├── default.conf
│ ├── fastcgi_params            # 引用方式 include conf.d/fastcgi_params;
│ └── root.dir
├── php                         # 存放路径 /home/admin/app/php
│ ├── LICENSE.txt
│ ├── README.md
│ ├── app
│ ├── composer.json
│ ├── composer.lock
│ ├── config
│ ├── extend
│ ├── public                    # ThinkPHP 框架默认目录,配置为nginx root
│ │ ├── index.php               # ThinkPHP 框架默认入口,配置为nginx rewrite
│ ├── route
│ ├── runtime
│ ├── think
│ ├── vendor
│ └── view

WordPress 5

下载hello-sae-php-wordpress.zip。解压后,可获得Nginx与PHP代码文件。PHP运行环境的具体说明,请参见PHP ZIP打包说明

  • 针对WordPress框架配置说明,参考如下。具体可查看/nginx/php目录下的文件内容。

    • PHP应用代码,存放路径为/home/admin/app/php/public

    • PHP应用入口,存放路径为/home/admin/app/php/public/index.php

    • Nginx应用配置,存放路径为/home/admin/app/nginx,引用方式为include conf.d/fastcgi_params;

    • Nginx系统配置,存放路径为/etc/nginx

  • 若全新安装WordPress体验,且需要安装主题、插件或上传文件,您需要额外进行如下操作,对变更进行持久化管理。

解压后的目录结构如下。

.
├── nginx                        # 存放路径/home/admin/app/nginx/
│ ├── default.conf               # WordPress站点配置
│ ├── fastcgi_params             # 引用方式include conf.d/fastcgi_params;
│ ├── global
│ │ ├── restrictions.conf        # WordPress默认访问限制
│ │ └── wordpress.conf           # WordPress默认PHP访问规则
│ └── root.dir
├── php                          # 存放路径/home/admin/app/php
│ ├── index.php                  # WordPress框架默认入口
│ ├── license.txt
│ ├── readme.html
│ ├── wp-activate.php
│ ├── wp-admin                   # WordPress框架管理后台
│ ├── wp-blog-header.php
│ ├── wp-comments-post.php
│ ├── wp-config-sample.php
│ ├── wp-content
│ ├── wp-cron.php
│ ├── wp-includes
│ ├── wp-links-opml.php
│ ├── wp-load.php
│ ├── wp-login.php
│ ├── wp-mail.php
│ ├── wp-settings.php
│ ├── wp-signup.php
│ ├── wp-trackback.php
│ └── xmlrpc.php

操作步骤

本示例仅说明以ZIP包部署的PHP应用的主要配置项,其余配置项请按需配置。详细说明,请参见在SAE控制台使用ZIP包部署PHP应用。如需了解如何通过镜像部署,请参见在SAE控制台使用镜像部署PHP应用

步骤一:创建PHP应用

  1. 登录SAE控制台

  2. 在左侧导航栏,选择应用管理 > 应用列表,在顶部菜单栏选择地域,然后单击创建应用

  3. 应用基本信息配置向导,配置相关信息,然后单击下一步:应用部署配置

    配置项

    说明

    应用名称

    输入sae-php

    专有网络配置

    选择自定义配置

    命名空间

    在下拉列表选择命名空间。命名空间和VPC是一一映射关系,当您选择命名空间后,会自动绑定对应的VPC。

    vSwitch

    单击请选择vSwitch,在选择vSwitch对话框选中推荐可用区的vSwitch后单击确定

    安全组

    选择已创建的安全组。

    应用实例数

    输入2

    vCPU

    选择1 Core

    内存

    选择2 GiB

  4. 应用部署配置配置向导,配置相关信息,然后单击下一步:确认规格

    基础配置说明如下,其余高级配置保持默认设置。

    配置项

    说明

    技术栈语言

    选择PHP

    技术栈版本

    选择PHP-7.3

    应用部署方式

    选择ZIP包部署

    PHP环境

    选择PHP-FPM 7.3

    文件上传方式

    选择上传Zip包

    上传Zip包

    单击选择文件并上传已获取的Demo。本文以PHP原生Demo为例。

  5. 确认规格配置向导,查看您所创建应用的详细信息以及费用配置情况,然后单击确认创建

    页面会跳转至创建完成配置向导,您可以单击应用详情页进入基本信息页面。

  6. 验证配置是否生效。

    • 方式一:

      在应用基本信息页面的左侧导航栏,单击变更记录,在变更记录页面,查看应用变更详情。如果显示执行成功,表示应用部署成功,配置已生效。

    • 方式二:

      在应用基本信息页面,单击实例部署信息页签,查看实例的运行状态。如果运行状态显示为Running,表示应用部署成功,配置已生效。

步骤二:通过公网访问应用

应用部署成功后,需为应用绑定CLB,以便公网通过CLB访问应用。SAE会自动帮您购买CLB服务,您仅需配置应用的监听端口;您也可以复用在传统型负载均衡CLB控制台控制台购买的CLB。关于复用规则和配置操作的详细信息,请参见基于CLB配置应用服务访问。本文以SAE自动购买CLB服务为例。

说明

传统型负载均衡CLB(Classic Load Balancer)为阿里云负载均衡SLB(Server Load Balancer)支持的负载均衡类型之一。

  1. sae-php应用的基本信息页面默认显示的基本信息页签内,单击应用访问设置区域内的添加公网CLB访问

  2. 添加公网CLB访问对话框,配置相关配置项,然后单击确定

    配置项

    说明

    请选择CLB

    选择新建

    网络协议

    单击HTTP协议页签,配置默认监听端口。

    • HTTP端口:输入80

    • 容器端口:输入80

    添加完成后,您可以在基本信息页面的公网访问地址区域看到该公网CLB的IP地址和端口。

  3. 通过公网访问Demo应用。

    根据公网访问地址栏显示的公网CLB的IP和端口,在浏览器中以http://clbip:port/的格式输入地址并回车,可以看到Demo应用的首页。sc_access_sae_php_application_over_the_Internet

步骤三:清理资源(可选)

  • 如果无需使用SAE,为避免产生不必要的费用,您可以删除资源。

    应用列表页面,找到目标应用,单击右侧操作列的删除,根据界面提示删除资源。

  • 如果需要继续使用SAE,请注意用量,确保账户不要欠费。SAE计费详情,请参见计费概述

常见问题

SAE如何支持高版本PHP部署?是否支持非PHP-FPM架构?

支持。您可以加入钉群(钉群号:32874633)联系产品技术专家咨询灰度版本。

更多信息

SAE部署应用完成后,您可以对应用进行如下操作。

操作

相关文档

更新、扩缩容、启停、删除应用等生命周期管理的操作

管理应用生命周期

自动弹性伸缩、CLB绑定和批量启停等提升应用性能的操作

日志管理、监控管理、应用事件查看和变更记录查看等聚焦应用运行状态的操作