【发布时间】:2018-04-12 23:45:06
【问题描述】:
快速总结: 我有一个单一的 ECS 任务定义,它启动了一个 NGINX(最新)实例和一个 PHP(php:7-fpm)实例。我已经为 site.conf 文件以及我希望 NGINX 服务的 PHP 项目设置了单独的卷。
ECS 服务启动此任务没有问题。我得到的源代码位于“包装器”文件夹中。我们暂时称它为“包装”。在“wrap”里面是一些配置文件、各种其他的 php 文件和另一个名为 public 的文件夹。 public里面是index.php。
我的 site.conf 文件如下所示:
server {
root /wrap/public;
listen 80;
index index.php;
server_name localhost;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
我的 ECS 任务定义挂载点如下所示:
mountPoints: [
{
"containerPath": "/etc/nginx/conf.d/",
"sourceVolume": "config",
"readOnly": false
},
{
"containerPath": "/usr/local/nginx/",
"sourceVolume": "webdata",
"readOnly": false
}
]
ECS任务定义量如下:
"volumes": [
{
"host": {
"sourcePath": "/ecs/config"
},
"name": "config"
},
{
"host": {
"sourcePath": "/ecs/webdata"
},
"name": "webdata"
},
{
"host": {
"sourcePath": "/ecs/debug"
},
"name": "debug"
}
],
ECS 主机上的 webdata 文件夹包含“wrap”文件夹。
出了点问题,因为 NGINX 不断给我一个 404 错误。我试图在 NGINX 容器上运行 Docker attach,但是 - 我不确定我在容器上附加了什么进程。我无法运行 LS、PWD 或任何命令 - 我假设它只是一个 STDout 进程?
如何附加到正在运行的 NGINX 实例以查看文件系统来调试我的问题?或者,我的帖子中是否有任何东西突然出现在任何人身上?
TIA!
【问题讨论】:
标签: php docker nginx amazon-ecs