• 地址:广州市天河区华南植物园-龙洞慧创百思G220
  • 免费热线 : 020-87581205
  • 电子邮箱 : sw@51mimu.com

通过ROS模板一键部署WordPress和phpMyAdmin_通过ROS模板一键部署WordPress和phpMyAdmin_最佳实践_资源编排-阿里云

 知识中心     |      2020-05-13 12:08:38

通过ROS模板一键部署WordPress和phpMyAdmin

更新时间:2020-03-31 11:20:27

编辑 · 

新浪微博 微信 钉钉

本页目录

本文为您介绍如何使用ROS模板一键部署WordPress站点和phpMyAdmin应用。

背景信息

如果您只有管理网站内容人员,而无专业技术人员来做网站建立和管理的技术支持,这只适用于基础网站。如果您的网站有更高的需求,需要订制化服务、高可用性和高弹性,您就需要寻求其他解决方案。

本文介绍的ROS资源栈模板(WordPressCluster-phpMyAdmin.ros)可以帮助您实现对高可用性和高弹性的需求。通过此模板,您可以快速部署整个VPC、负载均衡、弹性伸缩、ECS、云数据库RDS版等实例组成的资源栈。同时部署WordPress和phpMyAdmin,并配置弹性伸缩。系统会根据需要,自动添加、配置新的实例,无须您手动操作。

架构原理概览

下图为通过ROS资源栈模板(WordPressCluster-phpMyAdmin.ros)创建资源栈的架构图。

framework

有三类用户将会访问这些基础设施:

  • 端用户

    端用户通过URL访问托管在WordPress上的网站。

    WordPress部署在Apache Web务器中。服务器的文档根目录为/wwwroot。根目录所在的OSS Bucket是Web服务器通过OSSFS(阿里云官方提供的基于FUSE的文件系统)共用的一个存储空间。

    RAM用户具有OSS Bucket的访问权限,可以将OSS Bucket挂载到ECS实例上。

    RDS MySQL数据库存放WordPress的内容。通过内网连接字符串从Web服务器访问数据库。

  • 系统管理员

    系统管理员通过SSH登录JumpBox(堡垒机),进入VPC环境。

    JumpBox具有弹性公网IP,可通过Internet访问。

    通过JumpBox访问可管理VPC中的产品实例。

    phpMyAdmin安装在JumpBox上,通过Internet访问。

    如此,系统管理员便可管理云数据库RDS版。

  • 内容负责人

    内容负责人可通过Internet访问WordPress管理控制台。

    所有服务的访问权限可通过安全组,根据环境配置来控制。

资源站模板概览

单击WordPressCluster-phpMyAdmin.ros下载该资源栈模板。

注意 本模板中,设置ZoneId eu-central-1a,设置 ImageIdm-gw8efmfk0y184zs0m0aj

这可能对您不适用。您可以根据资源编排控制台中支持的ECS可用区和镜像,在模板中修改ZoneIdImageId

根据WordPressCluster-phpMyAdmin.ros这个资源栈模板,系统将创建和配置VPC、负载均衡、VSwitch、NAT网关、ECS实例、弹性公网IP、ECS实例弹性伸缩和云数据库RDS版实例等。

在创建资源栈时,以下参数可满足任何地域的用户需要。 ECSRDS

根据模板,系统将在JumpBox上安装httpd、mysql-client、PHP、OSSFS、phpMyAdmin、和WordPress,并通过资源ALIYUN::ECS::Instance的UserData段配置这些应用。

以下是UserData段节选:

"ossbucketendpoint=",
 {
 "Ref": "OSSBucketEndPoint"
 },
 "n",
 "DatabaseUser=",
 {
 "Ref": "MasterUserName"
 },
 "n",
 "DatabasePwd=",
 {
 "Ref": "MasterDBPassword"
 },
 "n",
 "DatabaseName=",
 {
 "Ref": "DBName"
 },
 "n",
 "DatabaseHost=",
 {
 "Fn::GetAtt": ["Database", "InnerConnectionString"]
 },
 "n",
 "yum install -y curl httpd mysql-server php php-common php-mysqln",
 "yum install -y php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpcn",
 "yum install -y phpmyadminn",
 "sed -i "s%localhost%$DatabaseHost%" /etc/phpMyAdmin/config.inc.phpn",
 "sed -i "s%Deny,Allow%Allow,Deny%" /etc/httpd/conf.d/phpMyAdmin.confn",
 "sed -i "s%Deny from All%Allow from All%" /etc/httpd/conf.d/phpMyAdmin.confn",
 "sed -i "/<RequireAny>/a Require all Granted" /etc/httpd/conf.d/phpMyAdmin.confn",
 "chkconfig httpd onn",
 "service httpd stopn",
 "wget  
 https://github.com/aliyun/ossfs/releases/download/v1.80.3/ossfs_1.80.3_centos6.5_x86_64.rpmn",
 "yum install -y ossfs_1.80.3_centos6.5_x86_64.rpmn",
 "echo $ossbucket:$ossbucketaccesskey:$ossbucketsecret >> /etc/passwd-ossfsn",
 "chmod 600 /etc/passwd-ossfsn",
 "mkdir $ossbucketmountpointn",
 "chmod -R 755 $ossbucketmountpointn",
 "echo #This script will automount the ossbucketn",
 "echo umount $ossbucketmountpoint >> /usr/local/bin/ossfs-automount.shn",
 "echo #Mounting OSS Bucketn",
            "echo ossfs $ossbucket $ossbucketmountpoint -ourl=http://$ossbucketendpoint -o allow_other -o mp_umask=0022 -ouid=48 -ogid=48 >> /usr/local/bin/ossfs-automount.shn",
"chmod 755 /usr/local/bin/ossfs-automount.shn",
"echo /usr/local/bin/ossfs-automount.sh >> /etc/rc.d/rc.localn",
"chmod +x /etc/rc.d/rc.localn",
"/usr/local/bin/./ossfs-automount.shn",
"wget http://WordPress.org/latest.tar.gzn",
"tar -xzvf latest.tar.gzn",             
"sed -i "s%database_name_here%$DatabaseName%" WordPress/wp-config-sample.phpn",
"sed -i "s%username_here%$DatabaseUser%" WordPress/wp-config-sample.phpn",
"sed -i "s%password_here%${DatabasePwd:-$DatabasePwdDef}%" WordPress/wp-config-sample.phpn",
"sed -i "s%localhost%$DatabaseHost%" WordPress/wp-config-sample.phpn",
"mv WordPress/wp-config-sample.php WordPress/wp-config.phpn",
"cp -a WordPress/* $ossbucketmountpointn",
"chmod -R 755 /wwwroot/*n",
"rm -rf WordPress*n",
"service httpd startn",
"donen"

通过UserData段,将WordPress部署在OSS Bucket上。OSS Bucket可挂载到弹性伸缩创建的Web服务器上。如此可保证所有Web服务器都具有来自根目录的最新内容。

通过弹性伸缩配置的UserData段,实现httpd、PHP、和ossutil的安装和配置,挂载DocumentRoo,以及启动所有服务。

以下是弹性伸缩配置的UserData段节选:

 "DatabaseHost=",
              {
                "Fn::GetAtt": ["Database", "InnerConnectionString"]
              },
              "n",
              "yum install -y curl httpd mysql-server php php-common php-mysqln",
              "yum install -y php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpcn",
              "chkconfig httpd onn",
              "service httpd stopn",
              "DocumentRoot='/var/www/html'n",
              "sed -i "s%$DocumentRoot%$ossbucketmountpoint%" /etc/httpd/conf/httpd.confn",
              "Directory='/var/www'n",
              "sed -i "s%$Directory%$ossbucketmountpoint%" /etc/httpd/conf/httpd.confn",
"wget https://github.com/aliyun/ossfs/releases/download/v1.80.3/ossfs_1.80.3_centos6.5_x86_64.rpmn",
              "yum install -y ossfs_1.80.3_centos6.5_x86_64.rpmn",
              "echo $ossbucket:$ossbucketaccesskey:$ossbucketsecret >> /etc/passwd-ossfsn",
              "chmod 600 /etc/passwd-ossfsn",
              "mkdir $ossbucketmountpointn",
              "chmod -R 755 $ossbucketmountpointn",
              "echo #This script will automount the ossbucketn",
              "echo umount $ossbucketmountpoint >> /usr/local/bin/ossfs-automount.shn",
              "echo #Mounting OSS Bucketn",
              "echo ossfs $ossbucket $ossbucketmountpoint -ourl=http://$ossbucketendpoint -o allow_other -o mp_umask=0022 -ouid=48 -ogid=48 >> /usr/local/bin/ossfs-automount.shn",
              "chmod 755 /usr/local/bin/ossfs-automount.shn",
              "echo /usr/local/bin/ossfs-automount.sh >> /etc/rc.d/rc.localn",
              "chmod +x /etc/rc.d/rc.localn",
              "/usr/local/bin/./ossfs-automount.shn",
              "chmod -R 755 /wwwroot/*n",
              "service httpd startn",
              "donen"
            ]

更多信息

上一篇:SDK常见问题

下一篇:ROS支持ECS实例云助手功能

相关文档

相关产品

  • 资源编排

    阿里云资源编排服务(ROS)是一款帮助阿里云用户简化云计算资源管理和自动化运维的服务。用户遵循ROS定义的模板规范,编写模板文件,在模板中定义所需云计算资源的集合及资源间的依赖关系、资源配置细节等,ROS通过编排引擎自动完成所有资源的创建和配置,以达到自动化部署、运维的目的。编排模板是一种用户可读、易于编写的文本文件,用户可以通过svn、git等版本控制工具来控制模板的版本,以达到控制基础设施版本的目的,用户可以通过API、SDK等方式把ROS的编排能力与自己的应用整合,做到基础设施即代码(Infrastructure as Code)。

  • 云服务器 ECS

    云服务器(Elastic Compute Service,简称 ECS)是一种简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本,使您更专注于核心业务创新。

  • 访问控制

    访问控制(Resource Access Management,RAM)是阿里云提供的一项管理用户身份与资源访问权限的服务。使用RAM,您可以创建、管理RAM用户(例如员工、系统或应用程序),并可以控制这些RAM用户对资源的操作权限。当您的企业存在多用户协同操作资源时,使用RAM可以让您避免与其他用户共享云账号密钥,按需为用户分配最小权限,从而降低企业信息安全风险。

以上内容是否对您有帮助?

在文档使用中是否遇到以下问题

  • 内容错误

  • 更新不及时

  • 链接错误

  • 缺少代码/图片示例

  • 太简单/步骤待完善

  • 其他

  • 内容错误

  • 更新不及时

  • 链接错误

  • 缺少代码/图片示例

  • 太简单/步骤待完善

  • 其他

更多建议

匿名提交

感谢您的打分,是否有意见建议想告诉我们?

感谢您的反馈,反馈我们已经收到

文档反馈


COPYRIGHT © 2018-2019,WWW.51MIMU.COM,ALL RIGHTS RESERVED版权所有 © 广州米姆信息科技有限公司(阿里云、腾讯云代理商) 粤ICP备18145377号

sitemap feed