大佬教程收集整理的这篇文章主要介绍了Drupal 问题,缺少 http://example.com 404 和 favicon.ico,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用 ecs 启动 Drupal 容器并连接到数据库的 RDS MysqL 实例,使用嵌套形式的 CloudFormation 模板。Nginx 映像工作正常,但我对 drupal 不太确定。在安装部分之前,实例运行良好。但之后它提供了这个输出。
真的可以用一些帮助。
@H_801_9@
AWstemplateFormatVersion: '2010-09-09'
Parameters:
Keyname:
Type: AWS::EC2::KeyPair::Keyname
Description: name of an exisTing EC2 KeyPair to enable SSH access to the ECS instances.
VpcID:
Type: AWS::EC2::VPC::ID
Description: SELEct a VPC that allows instances access to thE internet.
subnetID:
Type: List<AWS::EC2::subnet::ID>
Description: SELEct at two subnets in your SELEcted VPC.
DesiredCapacity:
Type: number
Default: '1'
Description: number of instances to launch in your ECS cluster.
MaxSize:
Type: number
Default: '1'
Description: Maximum number of instances that can be launched in your ECS cluster.
InstanCEType:
Description: EC2 instance type
Type: String
Default: t2.medium
AllowedValues:
- t2.micro
- t2.small
- t2.medium
- t2.large
- m3.medium
- m3.large
- m3.xlarge
- m3.2xlarge
- m4.large
- m4.xlarge
- m4.2xlarge
- m4.4xlarge
- m4.10xlarge
- c4.large
- c4.xlarge
- c4.2xlarge
- c4.4xlarge
- c4.8xlarge
- c3.large
- c3.xlarge
- c3.2xlarge
- c3.4xlarge
- c3.8xlarge
- r3.large
- r3.xlarge
- r3.2xlarge
- r3.4xlarge
- r3.8xlarge
- i2.xlarge
- i2.2xlarge
- i2.4xlarge
- i2.8xlarge
ConsTraintDescription: Please choose a valID instance type.
DBInstancEID:
Default: mydbinstance
Description: My database instance
Type: String
MinLength: '1'
MaxLength: '63'
AllowedPattern: '[a-zA-Z][a-zA-Z0-9]*'
ConsTraintDescription: >-
Must begin with a letter and must not end with a hyphen or contain two
consecutive hyphens.
DBname:
Default: mydb
Description: My database
Type: String
MinLength: '1'
MaxLength: '64'
AllowedPattern: '[a-zA-Z][a-zA-Z0-9]*'
ConsTraintDescription: Must begin with a letter and contain only Alphanumeric characters.
DBInstanceClass:
Default: db.m5.large
Description: DB instance class
Type: String
ConsTraintDescription: Must SELEct a valID DB instance type.
DBAllocatedStorage:
Default: '50'
Description: The size of the database (GiB)
Type: number
MinValue: '5'
MaxValue: '1024'
ConsTraintDescription: must be between 20 and 65536 GiB.
DBUsername:
NoEcho: 'true'
Description: Username for MysqL database access
Type: String
MinLength: '1'
MaxLength: '16'
AllowedPattern: '[a-zA-Z][a-zA-Z0-9]*'
ConsTraintDescription: must begin with a letter and contain only Alphanumeric characters.
DBpassword:
NoEcho: 'true'
Description: password MysqL database access
Type: String
MinLength: '8'
MaxLength: '41'
AllowedPattern: '[a-zA-Z0-9]*'
ConsTraintDescription: must contain only Alphanumeric characters.
MapPings:
AWSRegionToAMI:
us-east-1:
AMIID: ami-09bee01cc997a78a6
us-east-2:
AMIID: ami-0a9e12068cb98a01d
us-West-1:
AMIID: ami-0fa6c8d131a220017
us-West-2:
AMIID: ami-078c97cf1cefd1b38
eu-West-1:
AMIID: ami-0c9ef930279337028
eu-central-1:
AMIID: ami-065c1e34da68f2b02
ap-northeast-1:
AMIID: ami-02265963d1614d04d
ap-southeast-1:
AMIID: ami-0b68661b29b9e058c
ap-southeast-2:
AMIID: ami-00e4b147599c13588
ap-south-1:
AMIID: ami-036eaa870decb368d
resources:
cloudfrontdiStribution:
Type: AWS::CloudFront::diStribution
PropertIEs:
diStributionConfig:
#DefaultRootObject:
#CacheBehaviors:
#- VIEwerProtocolPolicy: allow-all
#TargetorginID: vn2699
#PathPattern: /*.php
#LambdaFunctionAssociations:
# - EventType: String-value
# LambdaFunctionARN: String-value
Enabled: True
DefaultCacheBehavior:
TargetoriginID: vn2699
CachePolicyID: 4135ea2d-6df8-44a3-9df3-4b5a84be39ad
VIEwerProtocolPolicy: allow-all
#LambdaFunctionAssociations:
# - EventType: String-value
# LambdaFunctionARN: String-value
IPV6Enabled: false
Origins:
- Domainname: !GetAtt ECSALB.DNSname
ID: vn2699
CustomOriginConfig:
httpPort: 80
OriginKeepaliveTimeout: 5
OriginProtocolPolicy: http-only
OriginReadTimeout: 30
Tags:
- Key: name
Value: ECS-example
ReactS3Bucket:
Type: AWS::S3::Bucket
PropertIEs:
Bucketname: reacts3vn2699
WebsiteConfiguration:
Indexdocument: index.HTML
S3accesspoint:
Type: AWS::S3::Accesspoint
PropertIEs:
Bucket: !Ref 'ReactS3Bucket'
name: reactaccesspointvn2699
VpcConfiguration:
VpcID: !Ref 'VpcID'
ECSCluster:
Type: AWS::ECS::Cluster
#DependsOn: ECSautoScalingGroup
#PropertIEs:
#CapacityProvIDers:
#- Nse
ECSCapacityProvIDer:
Type: AWS::ECS::CapacityProvIDer
PropertIEs:
autoScalingGroupProvIDer:
autoScalingGroupArn: !Ref ECSautoScalingGroup
name: Nse
DBSecurityGroup:
Type: AWS::EC2::SecurityGroup
PropertIEs:
GroupDescription: DB Security Group
VpcID: !Ref 'VpcID'
SecurityGrouPingress:
- FromPort: 3306
IpProtocol: tcp
toport: 3306
@R_450_9016@eSecurityGroupID: !GetAtt ECSSecurityGroup.GroupID
- FromPort: 3306
IpProtocol: tcp
toport: 3306
@R_450_9016@eSecurityGroupID: !GetAtt BastionSecurityGroup.GroupID
BastionSecurityGroup:
Type: AWS::EC2::SecurityGroup
PropertIEs:
GroupDescription: BastionHost security group
VpcID: !Ref 'VpcID'
SecurityGrouPingress:
- FromPort: 22
IpProtocol: tcp
toport: 22
CIDrIp: 0.0.0.0/0
- FromPort: 3306
IpProtocol: tcp
toport: 3306
#@R_450_9016@eSecurityGroupID: !GetAtt DBSecurityGroup.GroupID
CIDrIp: 0.0.0.0/0
ECSSecurityGroup:
Type: AWS::EC2::SecurityGroup
PropertIEs:
GroupDescription: ECS Security Group
VpcID: !Ref 'VpcID'
ECSSecurityGrouphttpinbound:
Type: AWS::EC2::SecurityGrouPingress
PropertIEs:
GroupID: !Ref 'ECSSecurityGroup'
IpProtocol: tcp
FromPort: '80'
toport: '80'
CIDrIp: 0.0.0.0/0
ECSSecurityGroupsqlInbound:
Type: AWS::EC2::SecurityGrouPingress
PropertIEs:
GroupID: !Ref 'ECSSecurityGroup'
IpProtocol: tcp
FromPort: '3306'
toport: '3306'
@R_450_9016@eSecurityGroupID: !GetAtt DBSecurityGroup.GroupID
ECSSecurityGroupSSHinbound:
Type: AWS::EC2::SecurityGrouPingress
PropertIEs:
GroupID: !Ref 'ECSSecurityGroup'
IpProtocol: tcp
FromPort: '22'
toport: '22'
CIDrIp: 0.0.0.0/0
nestedStackDB:
Type: AWS::CloudFormation::Stack
DependsOn:
- ECSSecurityGroup
- DBSecurityGroup
- BastionSecurityGroup
PropertIEs:
TemplateURL: bucket-link
Parameters:
SecurityGroupBastion: !GetAtt BastionSecurityGroup.GroupID
SecurityGroup: !GetAtt DBSecurityGroup.GroupID
DBInstancEID: !Ref DBInstancEID
DBname: !Ref DBname
DBInstanceClass: !Ref DBInstanceClass
DBUsername: !Ref DBUsername
DBpassword: !Ref DBpassword
DBAllocatedStorage: !Ref DBAllocatedStorage
Keyname: !Ref Keyname
ECSSecurityGroupALBports:
Type: AWS::EC2::SecurityGrouPingress
PropertIEs:
GroupID: !Ref 'ECSSecurityGroup'
IpProtocol: tcp
FromPort: '31000'
toport: '61000'
@R_450_9016@eSecurityGroupID: !Ref 'ECSSecurityGroup'
ECSSecurityGroupDrupal:
Type: AWS::EC2::SecurityGrouPingress
PropertIEs:
GroupID: !Ref 'ECSSecurityGroup'
IpProtocol: tcp
FromPort: '9000'
toport: '9000'
@R_450_9016@eSecurityGroupID: !Ref 'ECSSecurityGroup'
ClouDWatchLogsGroup:
Type: AWS::Logs::LogGroup
PropertIEs:
LogGroupname: !Join ['-',[EcslogGroup,!Ref 'AWS::Stackname']]
RetentionInDays: 14
taskdeFinition:
Type: AWS::ECS::TaskDeFinition
PropertIEs:
Family: !Join ['',[!Ref 'AWS::Stackname',-ecs-demo-app]]
ExecutionRoleArn: arn:aws:iam::<accNo>:role/ecsTaskExecutionRole
#TaskRoleArn: arn:aws:iam::aws:policy/AmazonS3FullAccess
Networkmode: brIDge
#requiredCompatibilitIEs:
#- "EC2"
ContainerDeFinitions:
- name: webserver
cpu: 256
DependsOn:
- Condition: "START"
Containername: "drupal"
#Essential: 'true'
Image: Nginx-drupal:latest
Memory: 512
Hostname: webserver
LogConfiguration:
LogDriver: awslogs
Options:
awslogs-group: !Ref 'ClouDWatchLogsGroup'
awslogs-region: !Ref 'AWS::region'
awslogs-stream-prefix: ecs-demo-app
VolumesFrom:
- @R_450_9016@eContainer: drupal
PortMapPings:
- ContainerPort: 80
HostPort: 80
- name: drupal
cpu: 256
Essential: false
Image: drupal:9.1.5-php8.0-fpm-alpine3.12
Memory: 512
Hostname: drupal
LogConfiguration:
LogDriver: awslogs
Options:
awslogs-group: !Ref 'ClouDWatchLogsGroup'
awslogs-region: !Ref 'AWS::region'
awslogs-stream-prefix: ecs-demo-app
MountPoints:
- ContainerPath: /var/www/HTML
@R_450_9016@eVolume: drupal-data
PortMapPings:
- ContainerPort: 9000
Volumes:
- name: drupal-data
ECSALB:
Type: AWS::ElasticLoadBalancingV2::LoadBalancer
#DependsOn: service
PropertIEs:
name: ECSALB
scheR_205_11845@e: internet-facing
LoadBalancerAttributes:
- Key: IDle_timeout.timeout_seconds
Value: '30'
subnets: !Ref 'subnetID'
SecurityGroups: [!Ref 'ECSSecurityGroup']
ALBListener:
Type: AWS::ElasticLoadBalancingV2::Listener
DependsOn: ECSserviceRole
PropertIEs:
DefaultActions:
- Type: forWARD
TargetGroupArn: !Ref 'ECSTG'
#RedirectConfig:
#Protocol: "http"
#Host: "#{host}"
#Path: "/#{path}"
#query: "#{query}"
#Port: 80
#StatusCode: "http_302"
LoadBalancerArn: !Ref 'ECSALB'
Port: '80'
Protocol: http
ECSALBListenerRule:
Type: AWS::ElasticLoadBalancingV2::ListenerRule
DependsOn: ALBListener
PropertIEs:
Actions:
- Type: forWARD
TargetGroupArn: !Ref 'ECSTG'
#RedirectConfig:
#Protocol: "http"
#Host: "#{host}"
#Path: "/#{path}"
#query: "#{query}"
#Port: 80
#StatusCode: "http_302"
Conditions:
- FIEld: path-pattern
Values: [/]
ListenerArn: !Ref 'ALBListener'
Priority: 1
ECSTG:
Type: AWS::ElasticLoadBalancingV2::TargetGroup
DependsOn: ECSALB
PropertIEs:
HealthcheckIntervalSeconds: 80
HealthcheckPath: /
HealthcheckProtocol: http
HealthcheckTimeoutSeconds: 60
HealthyThresholdCount: 2
Matcher:
httpCode: 302
name: ECSTG
Port: 80
Protocol: http
targettype: instance
UnhealthyThresholdCount: 2
VpcID: !Ref 'VpcID'
ECSautoScalingGroup:
Type: AWS::autoScaling::autoScalingGroup
PropertIEs:
#VPCZonEIDentifIEr: !Ref 'subnetID'
VPCZonEIDentifIEr:
- subnet-0c228c2e5e42708aa
- subnet-0bf3fcea01d2dd0a4
- subnet-0c6a01197480771b3
LaunchConfigurationname: !Ref 'ContainerInstances'
#LoadBalancernames:
#- ECSALB
TargetGroupARNs: [!Ref 'ECSTG']
MinSize: '1'
MaxSize: !Ref 'MaxSize'
DesiredCapacity: !Ref 'DesiredCapacity'
CreationPolicy:
resourceSignal:
Timeout: PT15M
updatePolicy:
autoScalingreplacingupdate:
Willreplace: 'true'
ContainerInstances:
Type: AWS::autoScaling::LaunchConfiguration
PropertIEs:
ImagEID: !FindInMap [AWSRegionToAMI,!Ref 'AWS::region',AMIID]
SecurityGroups: [!Ref 'ECSSecurityGroup']
InstanCEType: !Ref 'InstanCEType'
IamInstanceProfile: !Ref 'EC2InstanceProfile'
Keyname: !Ref 'Keyname'
UserData:
Fn::Base64: !Sub |
#!/bin/bash -xe
echo ECS_CLUSTER=${ECSCluster} >> /etc/ecs/ecs.config
yum update -y
yum install -y aws-cfn-bootstrap
#/opt/aws/bin/cfn-init -v --stack ${AWS::StacknamE} --resource ECSautoScalingGroup --region ${AWS::region}
#sudo cat /var/log/cloud-init-output.log
/opt/aws/bin/cfn-signal -e $? --stack ${AWS::StacknamE} --resource ECSautoScalingGroup --region ${AWS::region}
service:
Type: AWS::ECS::service
DependsOn:
- ALBListener
#- ECSautoScalingGroup
PropertIEs:
Cluster: !Ref 'ECSCluster'
DesiredCount: '1'
HealthcheckGracePeriodSeconds: 2147483647
LoadBalancers:
- Containername: webserver
ContainerPort: '80'
TargetGroupArn: !Ref 'ECSTG'
#LoadBalancername: !GetAtt ECSALB.LoadBalancername
#LoadBalancername: ECSALB
#NetworkConfiguration:
# AwsvpcConfiguration:
# AssignPublicIp: ENABLED
# SecurityGroups:
# - !Ref 'ECSSecurityGroup'
# subnets: !Ref 'subnetID'
#servicename: Ecs
Role: !Ref 'ECSserviceRole'
TaskDeFinition: !Ref 'taskdeFinition'
ECSserviceRole:
Type: AWS::IAM::role
PropertIEs:
AssumeRolePolicydocument:
Statement:
- Effect: Allow
Principal:
service: [ecs.amazonaws.com]
Action: ['sts:AssumeRole']
Path: /
PolicIEs:
- Policyname: ecs-service
Policydocument:
Statement:
- Effect: Allow
Action: ['elasticloadbalancing:DeregisterInstancesFromloadBalancer','elasticloadbalancing:DeregisterTargets','elasticloadbalancing:Describe*','elasticloadbalancing:registerInstancesWithLoadBalancer','elasticloadbalancing:registerTargets','ec2:Describe*','ec2:AuthorizeSecurityGrouPingress']
resource: '*'
serviceScalingTarget:
Type: AWS::ApplicationautoScaling::scalableTarget
#DependsOn: service
PropertIEs:
MaxCapacity: 3
MinCapacity: 1
resourcEID: !Join ['',[service/,!Ref 'ECSCluster',/,!GetAtt [service,name]]]
RoleARN: !GetAtt [autoscalingRole,Arn]
scalableDimension: ecs:service:DesiredCount
servicenamespace: ecs
serviceScalingPolicy:
Type: AWS::ApplicationautoScaling::ScalingPolicy
PropertIEs:
Policyname: AStepPolicy
PolicyType: StepScaling
ScalingTargetID: !Ref 'serviceScalingTarget'
StepScalingPolicyConfiguration:
AdjustmentType: PercentChangeInCapacity
Cooldown: 60
MetricAggregationType: Average
StepAdjustments:
- MetricIntervalLowerBound: 0
ScalingAdjustment: 200
ALB500sAlarmScaleUp:
Type: AWS::ClouDWatch::Alarm
PropertIEs:
EvaluationPeriods: '1'
Statistic: Average
Threshold: '10'
AlarmDescription: Alarm if our ALB generates too many http 500s.
Period: '60'
AlarmActions: [!Ref 'serviceScalingPolicy']
namespace: AWS/ApplicationELB
Dimensions:
- name: LoadBalancer
Value: !GetAtt
- ECSALB
- LoadBalancerFullname
Comparisonoperator: GreaterThanThreshold
Metricname: httpCode_ELB_5XX_Count
EC2Role:
Type: AWS::IAM::role
PropertIEs:
#ManagedPolicyArns:
#- arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerserviceforEC2Role
AssumeRolePolicydocument:
Statement:
- Effect: Allow
Principal:
service: [ec2.amazonaws.com]
Action: ['sts:AssumeRole']
Path: /
PolicIEs:
- Policyname: ecs-service
Policydocument:
Statement:
- Effect: Allow
Action: ['ecs:CreateCluster','ecs:DeregisterContainerInstance','ecs:discoverPollEndpoint','ecs:Poll','ecs:registerContainerInstance','ecs:StartTelemetrySession','ecs:submit*','logs:CreateLogStream','logs:PutLogEvents']
resource: '*'
autoscalingRole:
Type: AWS::IAM::role
PropertIEs:
AssumeRolePolicydocument:
Statement:
- Effect: Allow
Principal:
service: [application-autoscaling.amazonaws.com]
Action: ['sts:AssumeRole']
Path: /
PolicIEs:
- Policyname: service-autoscaling
Policydocument:
Statement:
- Effect: Allow
Action: ['application-autoscaling:*','clouDWatch:DescribeAlarms','clouDWatch:PutMetricAlarm','ecs:Describeservices','ecs:updateservice']
resource: '*'
EC2InstanceProfile:
Type: AWS::IAM::InstanceProfile
PropertIEs:
Path: /
Roles: [!Ref 'EC2Role']
Outputs:
eCSservice:
Value: !Ref 'service'
ecscluster:
Value: !Ref 'ECSCluster'
ECSALB:
Description: Your ALB DNS URL
Value: !Join ['',[!GetAtt [ECSALB,DNSname]]]
taskdef:
Value: !Ref 'taskdeFinition'
AWstemplateFormatVersion: '2010-09-09'
Parameters:
Keyname:
Type: AWS::EC2::KeyPair::Keyname
SecurityGroupBastion:
Type: AWS::EC2::SecurityGroup::ID
SecurityGroup:
Type: AWS::EC2::SecurityGroup::ID
DBInstancEID:
Default: mydbinstance
Description: My database instance
Type: String
MinLength: '1'
MaxLength: '63'
AllowedPattern: '[a-zA-Z][a-zA-Z0-9]*'
ConsTraintDescription: >-
Must begin with a letter and must not end with a hyphen or contain two
consecutive hyphens.
DBname:
Default: mydb
Description: My database
Type: String
MinLength: '1'
MaxLength: '64'
AllowedPattern: '[a-zA-Z][a-zA-Z0-9]*'
ConsTraintDescription: Must begin with a letter and contain only Alphanumeric characters.
DBInstanceClass:
Default: db.m5.large
Description: DB instance class
Type: String
ConsTraintDescription: Must SELEct a valID DB instance type.
DBAllocatedStorage:
Default: '50'
Description: The size of the database (GiB)
Type: number
MinValue: '5'
MaxValue: '1024'
ConsTraintDescription: must be between 20 and 65536 GiB.
DBUsername:
NoEcho: 'true'
Description: Username for MysqL database access
Type: String
MinLength: '1'
MaxLength: '16'
AllowedPattern: '[a-zA-Z][a-zA-Z0-9]*'
ConsTraintDescription: must begin with a letter and contain only Alphanumeric characters.
DBpassword:
NoEcho: 'true'
Description: password MysqL database access
Type: String
MinLength: '8'
MaxLength: '41'
AllowedPattern: '[a-zA-Z0-9]*'
ConsTraintDescription: must contain only Alphanumeric characters.
resources:
DrupalDB:
Type: 'AWS::rDS::DBInstance'
PropertIEs:
DBInstancEIDentifIEr: !Ref DBInstancEID
DBname: !Ref DBname
DBInstanceClass: !Ref DBInstanceClass
AllocatedStorage: !Ref DBAllocatedStorage
ENGIne: MysqL
ENGIneVersion: 8.0.20
MasterUsername: !Ref DBUsername
MasterUserpassword: !Ref DBpassword
DBsubnetGroupname: !Ref DBsubnetGroupDrupal
#MonitoringInterval: '60'
#MonitoringRoleArn: ''
AllowMajorVersionUpgrade: true
#AssociatedRoles:
BACkupRetentionPeriod: 1
#copyTagsToSnapshot:
#DBClusterIDentifIEr:
#DBSecurityGroups:
#KmsKeyID:
MultiAZ: true
Port: 3306
#@R_450_9016@eDBInstancEIDentifIEr:
#PubliclyAccessible:
#@R_450_9016@eRegion:
StorageType: standard
VPCSecurityGroups: [!Ref SecurityGroup]
DBsubnetGroupDrupal:
Type: AWS::rDS::DBsubnetGroup
PropertIEs:
DBsubnetGroupDescription: 'For Drupal DB'
DBsubnetGroupname: 'DrupalDB'
subnetIDs:
- subnet-01cc7a208ce068cd7
- subnet-0ed0f1627396e1a96
- subnet-0b38eb422f032ea76
BastionHost:
Type: AWS::EC2::Instance
PropertIEs:
AvailabilityZone: ap-south-1a
#BlockDeviceMapPings:
ImagEID: ami-068d43a544160b7ef
InstanCEType: t2.micro
Keyname: !Ref Keyname
NetworkInterfaces:
- AssociatePublicIpaddress: true
DeviceIndex: 0
GroupSet:
- !Ref SecurityGroupBastion
subnetID: subnet-0c228c2e5e42708aa
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的Drupal 问题,缺少 http://example.com 404 和 favicon.ico全部内容,希望文章能够帮你解决Drupal 问题,缺少 http://example.com 404 和 favicon.ico所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。