文档中心 > 容器服务

PHP

更新时间:2016/06/01 访问次数:36762

版本

EWS PHP官方镜像基于64位操作系统Linux+Nginx+PHP5.4以上版本构建,兼容全部的原生PHP语法。用户无需定制本地开发环境,应用也可以无缝迁移至EWS,其他php版本通过自定义镜像

配置管理

EWS提供应用运行时环境配置,比如代码部署包路径、PHP进程数以及一些pHP扩展都需要到服务的配置管理中自己配置

代码结构

上传代码包默认部署在/acs/code目录,Nginx请求访问根目录默认也是/acs/code。开发者可以在创建服务时或创建服务后点击“配置管理”,修改APP_ROOT_PATH来指定请求访问的根目录,比如APP_ROOT_PATH填写为webroot,则实际的Nginx请求访问根目录为/acs/code/webroot

PHP镜像介绍

官方PHP是采用 nginx+fpm 的服务方式提供web服务的,fpm的提供方式是多进程单线程模式,用户开发者可以根据自身服务的是内存消耗型还是cpu消耗型来选取cpu核数与内存的搭配,线上服务环境建议选择的型号配置核数与内存搭配为:

1核1G,1核2G,2核2G,2核4G,4核4G,4核8G

创建php的时候需要重点关注如下几个配置项:

  • MEMORY_LIMIT: fpm每个进程的内存使用上限,fpm的提供方式是多进程单线程模式,默认16M,用户需要根据自己业务来调整。如果请求处理是内存消耗型需要将值调大一些,如24M,32M等
  • NGINX_WORKER_PROCESS_NUM:选择4就好
  • PHP_EXTENTSIONS:需要使用到的php扩展。Php已经内置了mysql相关,ssl相关等大部分php扩展,需要用户在此填写可选扩展,可选扩展如下:
  • Amqp, exif,imagick, memcache,memcached,mongo,redis,stomp,zookeeper
  • file.conf:此处可以配置用户的相关请求的rewrite规则,具体配置方式请查阅nginx官方配置文档

 

php的单个实例的建议是每个实例里面的fpm进程最好不要多于128个,如果需要处理更大的并发请求可以创建多个实例。单个实例的内存可以估算得出,举例如下:

一个php服务的每个fpm进程选择的内存使用上限是16m的,那么如果是128个进程就是16M*128 =2048M,那么建议选择2G内存的规格,如果属于cpu消耗型就选择2核甚至4核,如果是内存消耗型那么就可以选择2G或者4G。

Php.ini 自定义配置

php.ini 默认配置集成了其大部分功能,在控制台页面也可以修改少部分配置,包括:

每个fpm进程的可以使用的内存上限;

Php 需要加载的可选扩展;

Php 支持了大部分php所需扩展,为了性能考虑,如下扩展是可选项,如果需要使用,用户需要再创建服务或者在配置管理里面进行配置才会集成进去(服务的配置管理中添加)

扩展名称   用途   

amqp   Rabbitmq消息队列   

exif   图像元数据操作   

imagick   图片文件处理   

memcache   memcache缓存   

memcached   memcache缓存   

mongo   Mongodb数据库   

redis   Redis缓存   

stomp   ActiveMQ消息队列   

zookeeper   Zookeeper  

Taeapm相关

如果如上满足不了需求可以直接登录实例修改php.ini配置模板来实现,模板文件所在位置 /acs/user/script/tpl/php.ini,配置方式与php官方配置一致。修改后重启实例即可生效 

 

FAQ

关于此文档暂时还没有FAQ
返回
顶部