部署 PHP 应用

时速云支持两种部署应用代码的方式:

  • 1.通过官方提供的“运行时”环境部署代码
  • 2.将应用代码打包成自定义的镜像来发布

第一种方式的特点是快速方便,可像操作云主机一样部署代码。第二种方式将应用代码直接打包成镜像来发布,这样的好处是应用代码随着镜像一起发布,可以发布成“无状态的服务”,从而提高了应用的部署和运行效率。

一、通过“运行时”环境部署代码

1.点击“创建”按钮

创建服务

2.选择“运行时”镜像,您可以选择PHP,Node.js,Java,Python等运行时环境,每个镜像都包含了示例代码,并开放了SSH,您可以像操作云主机一样,您可以像操作云主机一样,使用 SSH/Putty或sftp 等工具连接容器,上传自己的应用代码。

选择镜像

3.点击“部署”后,进入到容器基本配置页面,输入“服务名称”,选择“容器配置”(建议512M内存以上),勾选服务类型“有状态服务”,有状态服务支持将外部存储卷挂载在容器上,从而实现数据的持久化。存储卷里的内容通常存储用户的应用代码。默认目录为“/app”

容器配置

下图为存储卷配置,选择一个已创建的存储卷的情况 图为存储卷配置,选择一个已创建的存储卷

下图为北京一区默认的存储卷,无需手动创建的情况 图为北京一区默认的存储卷,无需手动创建

下图为存储卷配置,在没有创建过任何存储卷的情况下,可直接创建一个存储卷 图为存储卷配置,在没有创建过任何存储卷的情况下,可直接创建

3.在“高级设置”中,可以设置容器的SSH密码(默认是随机密码,用户名为root,从日志中可以查看到),以及其他参数或者端口设置。

高级设置

常用的参数

SSH 密码:ROOT_PASS (适用于所有“运行时”镜像,用户名为root,在容器日志中可以查看到)
Mysql 数据库密码:MYSQL_PASS (适用于“lamp”镜像,默认用户名为admin,在容器日志中可以查看到)
Tomcat管理密码:TOMCAT_PASS ((适用于“java”镜像,默认用户名为admin,在容器日志中可以查看到))

4.点击“创建”,稍等数秒,容器便创建成功了。如下图所示:

创建成功

打开“服务地址”,我们将看到示例的应用:

示例的应用

5.您可以选择自己熟悉的工具,比如Shell或者Putty等连接容器。 进入“容器详情”里,选择“端口”标签,可以查看“22”端口对应的服务地址:

进入“容器详情”里,选择“端口”标签,可以查看“22”端口对应的服务地址

在“日志”里查看生成的密码:

在“日志”里查看生成的密码

连接容器,例如:

ssh root@<hostname> -p <port>

连接容器

6.上传应用代码至 “/app” 目录下。可使用“scp”命令或sftp工具如filezilla上传。

scp <file.zip> -p <port> root@<hostname>:<path>

注意:存储卷挂载的默认目录为“/app”,内含示例代码,除“/app”目录下的内容可以永久存储外,容器其他目录文件只可以临时修改,即容器停止或者重新部署后数据会恢复到修改前的状态。如确有必要修改,请参照官方的“运行时”镜像构建自己定制的镜像。

二、将应用代码打包成自定义的镜像来发布

通过代码构建,可以将应用代码打包成镜像来发布,这样的好处是应用代码随着镜像一起发布,可以发布成“无状态的服务”,从而提高了应用的部署和运行效率,并且可以弹性扩展多个实例,还可以和“持续集成”结合,实现开发、测试、部署、运行、管理的自动化以及快速交付。

请参考 如何编写Dockerfile代码构建 功能,构建成自定义镜像来发布。