aws部署php程序,实验1:在AWS上部署一个WebApplication应用实践...

aws部署php程序,实验1:在AWS上部署一个WebApplication应用实践...

2023年7月21日发(作者:)

aws部署php程序,实验1:在AWS上部署⼀个WebApplication应⽤实践Deploying a Web Applicaiton on AWS实验⽬标通过多个AWS的服务去部署⼀个web applicationweb application是基于PHP 部署在 EC2上数据会被存储在Amazon DynamoDB上图⽚会被保存在 Amazon S3 上操作步骤创建⼀个IAM Role原因:EC2调⽤其他aws服务的时候需要具备⾓⾊去操作,否则是⾮法操作。这个AWS做的⽐较严谨。选择IAM服务,从导航菜单栏能看到创建⾓⾊创建⼀个⾓⾊,记得选择是为EC2创建⾓⾊,同时设置权限为AmazonS3FullAccess、AmazonDynamoDBFullAccess,这样就可以访问S3和DynamoDB了创建⼀个S3存储Bucket选择S3服务,直接创建Bucket,设置⼀个名字,注意这个名字是全球独⼀⽆⼆的,因为将来要通过这个名字组合出的域名访问S3内存储的内容;创建⼀个DynamoDB Table选择DynamoDB服务,这是⼀个托管的NosqlDB ,创建相关表.创建表的时候需要指定主键名称和排序键的名称。创建⼀个VPC,同时创建⼀个IGW和⼀个Public Subnet创建⼀个VPC,规划好⽹段,⼀般不使⽤172⽹段,这⾥我们可以采⽤常⽤的策略 设置 IPv4 CIDR block的值为10.200.0.0/16图⽚.png这样VPC内的⼦⽹共计有256*256个IP可⽤(当然包含了那些预留的IP)创建⼀个Public Subnet,要在vpc的⽹段内,详情参考如下图⽚.png创建⼀个Internet GateWay,这个就是⽤来连接互联⽹的。这⾥要将Internet Gateway 给Attach到刚才创建的VPC上创建⼀个路由表,Route table 是VPC级别的,设置Destination为0.0.0.0/0,将他的Target设置为刚才创建的Internet Gateway。将路由表与刚才创建的Public Subnet关联,这⾥就是更改路由表的属性标签,将其余Public Subnet进⾏关联。⾄此我们完成了实验环境的VPC的整体设置部署应⽤到EC2上先创建⼀个EC2实例,填写的相关信息如下图,建议选择linux AMI,号称改写了内核,完全虚拟化,性能媲美纯物理服务器;图⽚.png上图设置EC2的VPC、⼦⽹,⾃动获取公⽹IP、拥有写DynamoDB和S3的能⼒。打开EC2的user Data标签,这个标签可以输⼊⼀些shell脚本,在服务器启动的时候执⾏。这⾥我将如下过程都给放到user data输⼊框⾥边去:安装httpd服务器和PHP语⾔运⾏环境下载web application程序脚本下载安装AWS⽀持PHP的sdk将⽂件拷贝到S3的webapp-开头的那个bucket中将数据拷贝到DynamoDB中启动web server脚本如下#!/bin/bash# Install Apache Web Server and PHPyum remove -y httpd phpyum install -y httpd24 php56# Download Lab filesunzip -d /tmp/mv /tmp/lab1src/*.php /var/www/html/# Download and install the AWS SDK for PHPunzip aws -d /var/www/html# Determine RegionREGION=${AZ::-1}# Copy files to Amazon S3 bucket with name webapp-*BUCKET=`aws s3api list-buckets --query "Buckets[?starts_with(Name, 'webapp-')].Name | [0]" --output text`aws s3 cp /tmp/lab1src/jquery/ s3://$BUCKET/jquery/ --recursive --acl public-read --region $REGIONaws s3 cp /tmp/lab1src/images/ s3://$BUCKET/images/ --recursive --acl public-read --region $REGIONaws s3 ls s3://$BUCKET/ --region $REGION --recursive# Configure Region and Bucket to usesed -i "2s/%region%/$REGION/g" /var/www/html/*.phpsed -i "3s/%bucket%/$BUCKET/g" /var/www/html/*.php# Copy data into DynamoDB tableaws dynamodb batch-write-item --request-items file:///tmp/lab1src/scripts/ --region $REGIONaws dynamodb batch-write-item --request-items file:///tmp/lab1src/scripts/ --region $REGIONaws dynamodb batch-write-item --request-items file:///tmp/lab1src/scripts/ --region $REGION# Turn on web serverchkconfig httpd onservice httpd start验证应⽤是否启动直接访问EC2,看刚才启动的实例的公⽹IP通过浏览器访问公⽹IP,就能看到启动的应⽤

发布者:admin,转转请注明出处:http://www.yc00.com/news/1689898920a293255.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信