阻止nginx Docker容器退出

时间:2018-06-13 11:45:52

标签: docker nginx kubernetes devops

我有一个nginx容器和一个php-fpm容器。 我使用K8S,两个容器都在同一个容器中。 我想配置nginx超时或类似的东西等待上游。

这是我的配置:

server {
server_name mywebserver;
root /myapp;

location / {
    try_files $uri /index.php$is_args$args;
}

location ~ ^/index\.php(/|$) {
    resolver 127.0.0.1 valid=30s;
    fastcgi_pass myapp:9000;
    proxy_connect_timeout 120;
    proxy_read_timeout 120;

    fastcgi_split_path_info ^(.+\.php)(/.*)$;
    include fastcgi_params;



    fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
    fastcgi_param DOCUMENT_ROOT $realpath_root;
    internal;
}

location ~ \.php$ {
    return 404;
}

error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;

}

我补充说:

proxy_connect_timeout 120;
proxy_read_timeout 120;

但它似乎无法正常工作。 有没有可靠的解决方案?

1 个答案:

答案 0 :(得分:0)

resolver 127.0.0.1 valid=30s;
fastcgi_pass myapp:9000;

几乎没有任何意义,只需去127.0.0.1,除非你想在myapp后端之间进行负载均衡,在这种情况下,将它们保存在同一个pod中是违反直觉的,你应该使用php- fpm作为单独的后端部署和服务