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是采用 nginx+fpm 的服务方式提供web服务的,fpm的提供方式是多进程单线程模式,用户开发者可以根据自身服务的是内存消耗型还是cpu消耗型来选取cpu核数与内存的搭配,线上服务环境建议选择的型号配置核数与内存搭配为:
1核1G,1核2G,2核2G,2核4G,4核4G,4核8G
创建php的时候需要重点关注如下几个配置项:
php的单个实例的建议是每个实例里面的fpm进程最好不要多于128个,如果需要处理更大的并发请求可以创建多个实例。单个实例的内存可以估算得出,举例如下:
一个php服务的每个fpm进程选择的内存使用上限是16m的,那么如果是128个进程就是16M*128 =2048M,那么建议选择2G内存的规格,如果属于cpu消耗型就选择2核甚至4核,如果是内存消耗型那么就可以选择2G或者4G。
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官方配置一致。修改后重启实例即可生效