我很难让Neos (一个基于php的cms)在AWS的坞容器中运行。我想我在某个地方有个误会,希望有人能帮忙。
我到目前为止所做的:
composer.json
sam local start-api。
Dockerfile:
FROM bref/php-74-fpm
COPY . /var/task
# Start Bref's runtime client
CMD _HANDLER=Web/index.php /opt/bootstraptemplate.yml
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
neos-demo-lambda
Sample SAM Template for neos-demo-lambda
# More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst
Globals:
Function:
Timeout: 3
Resources:
Neos:
Type: AWS::Serverless::Function
Properties:
Description: Show neos demo
PackageType: Image
ImageUri: neos7.demo.lambda.php74:latest
#Handler: "Web/index.php /opt/bootstrap"
#Handler: "Web/index.php"
MemorySize: 1024
Timeout: 360
Environment:
Variables:
FLOW_CONTEXT: 'Production'
FLOW_PATH_TEMPORARY_BASE: '/tmp/neos'
FLOW_PATH_DATA_BASE: '/tmp/Data'
BREF_AUTOLOAD_PATH: '/var/task/Packages/Libraries/autoload.php'
AWS_S3_BUCKET_STORAGE: 'neos-lambda-demo-private'
AWS_S3_BUCKET_TARGET: 'neos-lambda-demo-public'
AWS_CLOUDFRONT_BASE_URI: ''
AWS_REDIS_HOST: ''
Events:
htmlHttpApi:
Type: HttpApi
TimeoutInMillis: 28000
Metadata:
DockerTag: neos7.lambda.demo
DockerContext: ./Web/index.php
Dockerfile: Dockerfilesam local start-api响应
entrypoint requires the handler name to be the first argument
time="2021-04-14T22:11:48.093" level=error msg="Init failed" InvokeID= error="Runtime exited with error: exit status 142"
time="2021-04-14T22:11:48.093" level=error msg="INIT DONE failed: Runtime.ExitError"
Invalid lambda response received: Lambda response must be valid json
2021-04-15 00:11:48 127.0.0.1 - - [15/Apr/2021 00:11:48] "GET / HTTP/1.1" 502 -我不明白的是,即使php提供了一个5xx错误,但仍然会有一个有效的json返回。我迷路了..。即使情况并非如此,我如何调试这个问题呢?
最后,我必须创建自己的坞映像,因为Neos太大,不能使用bref层,我需要相当多的php扩展。如果我能理解当前的问题,我可以解决这个问题,并为每个人提供一个工作容器。
我还有几个问题要问,在这个场景中,我是否有一个web应用程序并且使用了一个容器,我是否需要用composer安装bref包?这一点在博客文章中还不清楚。另外,我是否必须在无服务器/sam中设置Handler,如果需要,那么哪一个是正确的字符串,因为Web/index.php是Neos中的路径?
一般来说,Neos在AWS上的工作会很棒。我的设置是:
具有静态文件行为的
上搜索和提高性能
一旦这起作用,我将免费发布所有信息,让Neos社区实现这一目标。
希望有人能帮忙..。
谢谢!
发布于 2021-04-15 07:43:54
你能试试这个吗?
FROM bref/php-74-fpm
# Include any extension you want, for example:
#COPY --from=bref/extra-gd-php-74:0.9.5 /opt /opt
ADD . $LAMBDA_TASK_ROOT
CMD [ "index.php" ]自本文以来,格式已经简化(请参阅https://gist.github.com/mnapoli/f911a50c7aab77690e6cdde157812265)。
https://stackoverflow.com/questions/67099897
复制相似问题