LNMP是目前主流的网站服务器架构之一,适合运行大型和高并发的网站应用,例如电子商务网站、社交网络、内容管理系统等。LNMP分别代表Linux、Nginx、MySQL和PHP。本文介绍如何使用阿里云资源编排服务(ROS)一键部署LNMP环境。
前提条件
如果您是首次使用ROS,必须先开通ROS服务。ROS服务免费,开通服务不会产生任何费用。
背景信息
本教程以ROS控制台提供的部署LNMP(Linux+Nginx+MySQL+PHP)环境模板为例,使用ROS自动创建一台CentOS 7.9系统的ECS实例并在该实例上部署LNMP环境。
您还可以使用ROS提供的模板示例搭建环境。例如:Java Web测试环境、Node.js测试开发环境、Ruby Web开发测试环境或Hadoop/Spark分布式系统。
更多ROS信息,请参见ROS文档。
操作步骤
登录ROS管理控制台。
在左侧导航栏中,选择
。在页面左侧顶部,选择目标资源所在的资源组和地域。
在模板示例页面右上角的搜索框中,输入关键字
部署LNMP
进行搜索。从模板示例中,找到部署LNMP(Linux+Nginx+MySQL+PHP)环境。
单击查看详情,查看模板内容的JSON文件。
JSON文件内各个顶级字段的解释如下表所示:
顶级字段
解释
"ROSTemplateFormatVersion": "2015-09-01"
ROS支持的模板版本号,当前版本号:2015-09-01。
"Parameters": {...}
定义模板的一些参数。本示例中,模板定义的参数包括:镜像ID、实例规格、软件下载地址以及软件配置项等。部分参数指定了默认值。
"Resources": {...}
定义模板将要创建的阿里云资源。本示例中,声明将要创建一台VPC类型的ECS实例和一个安全组,这里声明的资源属性可以引用
Parameters
中定义的参数。"Outputs": {...}
定义资源创建完成后,栈需要输出的资源信息。本示例中,资源创建完成后将输出Nginx访问地址。
"Description": "Deploy LNMP(Linux+Nginx+MySQL+PHP) stack on 1 ECS instance. *** WARNING *** Only support CentOS-7."
对模板的解释说明。
"Metadata": {...}
对模板内Parameters定义的参数进行分组,并且可以为每一组分别定义标签。本示例中,把模板内Parameters参数以ECS实例、软件等维度进行分组。
说明关于ROS资源栈模板的更多信息,请参见资源编排的模板结构说明。
在页面顶部,单击创建资源栈。
设置相关参数,然后单击创建。
参数名称
描述
资源栈名称
自定义资源栈名称。
可用区ID
(必填)设置ECS实例所属的可用区ID。
镜像ID
设置ECS实例使用的镜像ID。
实例类型
(必填)设置ECS实例使用的实例规格。
系统磁盘类型
设置ECS实例的系统盘的云盘类型。
实例密码
(必填)设置ECS实例的登录密码。
数据库名称
填写MySQL的数据库名。
数据库用户名
填写用于访问MySQL数据库的用户名。
数据库密码
(必填)设置访问MySQL数据库的密码。
数据库root用户密码
(必填)设置MySQL管理员用户(root)的密码。
Nginx源
Nginx下载地址。建议使用默认的Nginx下载地址。
说明您可以根据实际需求自行单击下一步,进行合规预检(可选)以及检查并确认(可选)。更多信息,请参见创建资源栈。本示例中保持可选操作中的默认配置进行资源栈的创建。
创建后,页面将会自动跳转至资源栈详情页。您可以查看到资源栈当前的状态。
单击输出页签,查看
NginxWebsiteURL
的值。您可以通过该地址访问已创建的LNMP环境。
说明在资源页签,可以查看栈中所有资源。
在事件页签,可以查看ROS创建资源栈过程的日志记录。
相关文档
使用ROS可快速一键部署LNMP环境,但无法安装指定的Nginx、MySQL、PHP版本。如果您想安装指定的版本,请参见手动部署LNMP环境(Alibaba Cloud Linux 3/2、CentOS 7/8)和手动部署LNMP环境(Ubuntu)。