环境管理

对于状态为“运行”的环境,点击环境名称进入环境管理页面。环境管理一共分为“环境详情”、“设置”、“资源监控”和“日志”4个页签。

管理环境配置参数

环境详情页面主要进行对环境参数进行管理,可以进行如下操作:

  • 代码部署或创建RDS实例;
  • 续费或升级配置;
  • 实例重启;
  • WebSSH登录

  1. 单击“部署”按钮进行代码部署,该代码部署功能和应用列表页签的“代码管理”功能相同。

  2. 点击“创建RDS实例”可以购买RDS数据库。购买RDS数据库的详细操作可参见RDS操作指南

  3. 如果当前的环境配置即将到期且需要继续使用,请点击“续费”。续费支持按月和按年两种续费方式。

  4. 如果当前的环境配置参数已经不能满足客户要求需要扩容,请点击“升级配置”。

  5. 如果实例管理中显示实例状态异常,可以重启实例。

  6. 如果用户需要临时调试或批量查看日志信息时,可以通过WebSSH远程登录环境。WebSSH支持通过浏览器登录linux系统,系统为Ubuntu,操作和SSH一样,命令行即为linux通用的命令行。

    说明:

    • WebSSH不支持直接上传和下载文件。如果希望下载Container中的文件,用户可以将文件上传到BOS上然后下载。
    • 在WebSSH页面上操作时,执行拷贝操作时选中内容后使用Ctrl+Shift命令,执行粘贴操作使用Shift+Insert命令。

自动发布

代码上传后,系统可以自动执行发布操作。对于新建的环境,自动发布功能默认处于关闭状态。可以通过控制台打开自动发布功能,具体操作如下:

  1. 选择“产品服务>应用引擎BAE>BAE专业版”,进入“应用列表”页面。

  2. 单击环境名称,进入环境详情页面,打开“自动发布设置”开关。自动发布功能适用于所有代码管理方式。

    “自动发布设置开关”仅针对当前环境有效,不影响其它环境的发布设置。

设置环境

设置页签主要实现添加环境变量、关联RDS或SCS、HTTPS监听协议及添加端口等功能。

注意:

设置环境页签添加变量和添加端口后的“保存修改”操作会导致环境重启。

添加环境变量

当同一个应用需要不同的环境时可以添加环境变量,即使用相同的代码和不同的环境变量来实现。单击“创建变量”及“保存修改”可以添加多个环境变量。

关联RDS或SCS

单击关联RDS或关联SCS下的“创建关联”然后选择需要关联的RDS或SCS集群就可以实现与RDS及SCS的无缝对接,创建关联后该环境的实例会添加到RDS或SCS的白名单中。

当在BAE部署环境的实例数大于1时,用户无法通过内存实现分布式session,这是因为环境的多个实例并不共享内存;但用户可以利用SCS实现分布式session,具体操作方法请查看如何让你的PHP服务支持分布式session

HTTPS监听配置

在应用HTTPS之前,用户应先配置SSL证书。SSL证书是由证书授权中心(CA)签发的对用户公钥的认证。证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等。关于证书的申请方法,请参看证书管理

开启了HTTPS监听功能后,用户的HTTPS请求需先通过web server进行解密(ssl offload),然后发送至后台web服务处理;后端web服务处理后,将响应消息首先返回至web server进行加密,然后再将加密后的响应消息回传至用户侧。

注意:

开启了HTTPS监听功能的BAE专业版用户需要拥有SSL证书才能完成加密解密操作。

开启了HTTPS监听功能后系统性能会损失10%左右,详细的性能对比数据请参考性能

  1. 在设置环境页签的“HTTPS监听协议”下点击“选择证书”并勾选SSL证书即可使用选中的证书进行HTTPS监听。证书选择成功后会在列表中显示“使用中”。

    默认情况下,HTTPS协议监听功能被关闭。如果用户没有上传过SSL证书,点击“创建证书”。关于证书的创建和申请方法,请参看证书管理

  2. 填写SSL证书信息:将通过CA、二级证书供应商申请的证书或用户自生成的证书中证书名称、公钥、私钥、证书链信息填写进去即可。

    信息项填写说明
    证书名称必填,用户自定义的证书名称。同一个用户的多个证书可以使用相同名称。
    公钥必填,CA机构或二级证书供应商所颁发的服务器证书文件,证书中包含了用于认证的公钥,PEM编码格式如下:
    -----BEGIN CERTIFICATE-----
    Server certificate in pem
    -----END CERTIFICATE-----
    不能包含额外的字符、空格或者换行。
    私钥必填,用户在申请证书过程中第一步所创建的文件,PEM编码格式如下:
    -----BEGIN RSA PRIVATE KEY-----
    Rsa private key in pem
    -----END RSA PRIVATE KEY-----
    不能包含额外的字符、空格或者换行。
    证书链选填,如果用户是通过中级CA机构或二级证书提供商申请证书,则证书文件会包含多个中间证书和根证书(根证书可选),该项必填。PEM编码格式如下:
    -----BEGIN CERTIFICATE-----
    Intermediate certificate 2 in pem
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    Intermediate certificate 1 in pem
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    Optional: Root certificate in pem
    -----END CERTIFICATE-----
    不能包含额外的字符、空格或者换行。
  1. 证书上传完成后会在下拉框中出现证书名称,选中证书名称并保存,当前环境的所有实例就会开启HTTPS监听功能,通过https访问环境域名。同时,环境的Port端口会新增443/8443端口的监听。

  2. 如果需要关闭HTTPS监听功能,只需要在下拉框中选择“关闭HTTPS”并保存即可。

    注意:保存操作会导致环境重启。

  3. 用户可以根据需要勾选“强制HTTPS”开启强制HTTPS监听。开启强制HTTPS监听后,用户所有的HTTP请求会被强制转换成HTTPS的请求。开启强制HTTPS监听时,需要确认是否配套的其他产品或服务都支持HTTPS,如果存在不支持HTTPS的产品或功能,会出现不兼容问题。

创建SSL证书

创建一个SSL证书必须先生成一个RSA私钥和CSR文件。用户可以将CSR文件发送给CA机构申请一个SSL证书,也可以在本地生成一个用户自定义证书进行测试。本节以Linux系统为例介绍如何创建SSL证书。SSL证书管理详细内容请参见证书管理

  1. 本地生成私钥文件。

    openssl genrsa -out my-private-key.pem 2048
    
  2. 基于上一步所生成的私钥文件创建CSR证书请求文件。生成CSR文件的过程中需要用户输入公司、地理、域名等信息。

    openssl req -sha256 -new -key my-private-key.pem -out csr.pem
    
  3. 将CSR文件递交给CA机构。CA机构在完成审核后会将相关的证书文件发给用户。

  4. (可选)用户可以执行以下命令在本地生成用户自定义证书用于测试,因为用户自定义证书非官方认证,所以客户端打开时会提出不信任的警告,需要安装才能消除警告。

    openssl x509 -req -days 365 -in csr.pem -signkey my-private-key.pem -out my-certificate.pem
    

端口服务

当用户需要自定义某些端口进行访问和监听功能时,可以在设置页面添加相应端口。

注意:

  • 系统默认开放HTTP的80为访问端口,8080为监听端口;HTTPS的443为访问端口,8443为监听端口,不可修改和删除。
  • 用户自定义的端口只支持TCP协议,且最多支持添加100个。

资源监控

BAE专业版提供针对实例的资源监控数据查询,监控范围包括:内存使用量、CPU使用率、磁盘使用量、流出流量、请求数及平均响应时间。

  • 内存使用量

    内存使用量即RSS使用的内存数,内存限制值即为购买套餐内的内存大小。

    注意:这种策略可能会导致小程序占据过高内存,但这部分内存可被系统快速回收,所以开发者可忽略由此引发的内存占用。

  • CPU使用率

    运行的程序占用的CPU资源。

  • 磁盘使用

    统计磁盘使用量,目前每个实例的限制值为20G。

  • 流出流量

    统计间隔内目标部署的流出流量(KB),间隔时间同上。

  • HTTP请求数

    统计间隔时间内目标部署的请求数,开发者可通过图表查询到最近60分钟、最近24小时的HTTP请求相关数据。 请求数资源显示中会通过不同颜色来表示不同类型的返回代码,如返回代码为404的会以玫红色标识。

    • 最近60分钟:每个点代表1分钟间隔内的请求数;
    • 最近24小时:每个点代表15分钟间隔内的请求数。
  • 平均响应时间

    最近5s的请求数平均耗时。

查看日志

单击运行状态的环境名称,选择“查看日志”以查看本地日志。本地日志实时反映系统当前状态,与环境绑定,在环境回收时会被全部清空,主要用于调试。

用户可以选择实例及日志文件名进行查询,日志列表中最多可以显示200条日志。

  • 日志文件类型

    • 系统日志

      以php-web部署类型为例,支持下述系统日志:

      • appconf.log:应用部署异常及错误日志
      • error.log:lighttpd执行错误日志
      • access.log:lighttpd访问日志
      • phperror.log:PHP脚本错误日志
      • slowlog.log:PHP慢请求日志

        注意:

        单个web请求最大执行时间为30s,超过30s的请求会被kill并将其记录到slowlog中。

    • 用户日志

      使用任意后缀名将日志文件存入日志目录“/home/bae/log”后,即可使用特定编程语言提供的日志模块进行日志打印。例如,将用户日志:example.log.1和example.log.2存入/home/bae/log并先后进行了修改,则查询user.log,BAE按时间戳显示最后被修改的日志,即默认显示下述命令的输出:

      # 按时间戳显示最后被修改的日志
      $ tail /home/bae/log/example.log.2
      
  • 命名规范

    必须符合正则表达式:"\^(.?).log.?[\^.](.*)\$",第2个分组为数字或空;例如access.log,error.log.2014112811,
    debug.log.modelA.20141128,符合开发者按时间或大小对日志进行切分的习惯,同时便于BAE将分组内容相同的日志文件归为一组展示给用户。例如,/home/bae/log目录下有access.log.1,
    access.log.2,页面上只显示access.log。