对于本地已有的PHP项目,或在本地开发PHP应用后,您可以结合Nginx服务器配置,将该应用打包成ZIP包并部署至Serverless应用引擎SAE(Serverless App Engine)。本文介绍通过ZIP包部署应用的操作步骤,包括ZIP打包规范、打包方式和示例程序配置说明。

ZIP打包规范

ZIP目录 实例运行时目录 描述
./nginx /home/admin/app/nginx/ 存放Nginx配置文件。
./nginx/*.conf /home/admin/app/nginx/*.conf 存放Nginx各站点配置,支持配置Server {}
./php /home/admin/app/php/ 存放Nginx程序。

部署应用时,可基于示例程序打包ZIP包,并上传至SAE进行部署。本文以示例程序为例,具体信息,请参见hello-sae-php.zip。解压后,目录结构如下。

.
├── nginx
│   ├── default.conf
│   ├── fastcgi_params
│   └── root.dir
├── php
│   ├── index.php
│   └── phpinfo.php
注意 如果您未使用Nginx,为保障服务正常启动,请保留示例中的Nginx配置。

步骤一:打包PHP应用为ZIP包

使用命令行或文件压缩工具,将./php./nginx两个目录打包到ZIP包中即可。下文演示命令行打包的方式。

  1. 执行以下命令,下载示例程序。
    wget https://edas-hz.oss-cn-hangzhou.aliyuncs.com/demo/1.0/hello-sae-php.zip
  2. 执行以下命令,解压程序。
    unzip hello-sae-php.zip
  3. 依次执行以下命令,增加应用代码。本文以示例程序为例。
    1. echo '<?php' > php/index.php
    2. echo 'echo "Hello my first SAE application";' >> php/index.php
  4. 执行以下命令,使用ZIP命令打包。
    zip -r sae.demo.zip nginx php
    说明 除在本地打包ZIP包外,您还可以通过云效2020构建ZIP命令。具体操作,请参见部署PHP ZIP应用至SAE

步骤二:部署PHP应用

操作步骤

具体操作,请参见在SAE控制台使用ZIP包部署PHP应用

示例程序配置说明

PHP应用成功部署到SAE后,您可以通过查看实时日志定位问题。同时,您可以为应用绑定SLB并通过公网访问应用。示例程序的配置参考信息如下。

配置项
HTTP、Nginx默认端口 80
错误日志 标准输出到实时日志。
访问日志 默认关闭。关于如何开启,请参见Nginx日志标准输出