快捷部署LNMP环境

LNMP(分别代表Linux、Nginx、MySQL和PHP)是目前主流的网站服务器架构之一,适合运行大型和高并发的网站应用,例如电子商务网站、社交网络、内容管理系统等。本文档提供了两种LNMP环境部署方案,可以基于所使用的操作系统或是否已购买ECS实例来选择相应的部署方案。

部署方案

支持操作系统

说明

ROS部署

CentOS 7.9

使用ROS部署可以创建一个新的按量付费的ECS实例,或者指定一个已有的ECS实例,以快速部署LNMP环境。

扩展程序部署

Ubuntu 20.04及以上

CentOS 7.7及以上

Alibaba Cloud Linux 3

使用扩展程序可以为单个或多个ECS实例快速部署LNMP环境。

ROS部署

重要

使用ROS自动配置LNMP环境时,请确保您选择的ECS实例运行CentOS 7.9操作系统。对于通过ROS创建的ECS实例,将采用CentOS 7.9操作系统和按量付费模式进行计费。

前提条件

  • 如果您是通过ROS创建ECS实例,阿里云账号余额不能低于100元,可以是现金、可用信用额度或者可用于开通产品的代金券。

  • 如果您是首次使用ROS,必须先开通ROS服务。ROS服务免费,开通服务不会产生任何费用。详细信息,请参见资源栈快速入门

  • 如果您是已有ECS实例,安全组入方向规则已放行80端口(如果需要远程访问MySQL需要额外开放3306端口)。具体操作,请参见添加安全组规则

操作步骤

  1. 登录ROS管理控制台

  2. 在左侧导航栏中,选择模板 > 示例模板

  3. 示例模板页面的搜索框中,输入关键字部署LNMP进行搜索。

  4. 示例模板中,找到部署LNMP(Linux+Nginx+MySQL+PHP)环境

  5. 单击创建资源栈

  6. 创建资源栈页面,设置相关参数后单击创建

    参数名称

    描述

    资源栈名称

    自定义资源栈名称。

    ECS

    该选项默认关闭。如果开启了是否选择已有实例开关,则需要继续在已创建ECS实例区域选择已有实例。

    可用区ID

    (必填)设置ECS实例所属的可用区ID。

    实例类型

    设置ECS实例使用的实例规格,您可以在实例中选择已有实例。

    系统磁盘类型

    设置ECS实例的系统盘的云盘类型。

    实例密码

    (必填)设置ECS实例的登录密码。

    数据库名称

    填写MySQL的数据库名。

    数据库用户名

    填写用于访问MySQL数据库的用户名。

    数据库密码

    (必填)设置访问MySQL数据库的密码。

    数据库root用户密码

    (必填)设置MySQL管理员用户(root)的密码。

    Nginx源

    Nginx下载地址。建议使用默认的Nginx下载地址。

    说明

    您可以根据实际需求自行单击下一步,进行合规预检(可选)以及检查并确认(可选)。更多信息,请参见创建资源栈。本示例中保持可选操作中的默认配置进行资源栈的创建。

测试验证

说明
  • 资源页签,可以查看栈中所有资源。

  • 事件页签,可以查看ROS创建资源栈过程的日志记录。

单击输出页签,访问NginxWebsiteURL的值进入如下页面。

phpinfo

扩展程序部署

说明

如果需要批量安装,您可以登录系统运维管理控制台,左侧菜单选择服务器管理 > 扩展程序,选择LNMP一键安装

使用限制

  • 安全组入方向规则已放行80端口(如果需要远程访问MySQL需要额外开放3306端口)。具体操作,请参见添加安全组规则

  • 使用本功能时,您的实例需满足以下条件。

    • ECS实例必须处于运行中状态。

    • ECS实例已分配公网IP地址或绑定弹性公网IP(EIP)。具体操作,请参见绑定EIP

    • ECS实例已安装云助手,并且云助手状态为正常

    • 操作系统

      • Ubuntu 20.04及以上

      • CentOS 7.7及以上

      • Alibaba Cloud Linux 3

  • 如果您是RAM用户,遵循最小权限原则,请参见以下自定义权限策略,为RAM用户完成授权。

    自定义权限JSON

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "bssopenapi:GetOrderDetail",
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ecs:DescribeCloudAssistantStatus",
            "ecs:DescribeInstances",
            "ecs:DescribeInvocationResults",
            "ecs:DescribeInvocations",
            "ecs:RunCommand"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "oos:GetTemplate",
            "oos:ListInstancePackageStates",
            "oos:StartExecution",
            "oos:UpdateInstancePackageState"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": "oss:GetObject",
          "Resource": "*"
        }
      ]
    }

操作步骤

  1. 登录ECS管理控制台,找到目标ECS实例,单击实例ID,进入实例详情页。

  2. 选择定时与自动化任务 > 安装/卸载扩展程序 > 安装扩展程序

    image

  3. 安装扩展程序对话框,要安装的扩展程序选择LNMP一键安装,然后单击下一步,按照界面提示完成操作。image

    当任务状态为已完成时,说明LNMP已部署。image

    说明

    MySQL root用户密码请查看任务详情,扩展信息内容。

  4. 在本地物理机上使用浏览器访问http://ECS实例公网IP/phpinfo.php,验证LNMP是否已成功安装。phpinfo