From 2eb2ae9c93c46ebb7031a2a71beef2bf18da89b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=90=E5=B0=8F=E5=BF=83?= Date: Sat, 24 Jun 2017 14:48:05 +0800 Subject: [PATCH] support fastcgi --- README.md | 11 +++++++++++ nginx.tmpl | 14 +++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index df3e838..1cf11cb 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,17 @@ If you would like to connect to uWSGI backend, set `VIRTUAL_PROTO=uwsgi` on the backend container. Your backend container should then listen on a port rather than a socket and expose that port. +### FastCGI Backends + +If you would like to connect to FastCGI backend, set `VIRTUAL_PROTO=fastcgi` on the +backend container. Your backend container should then listen on a port rather +than a socket and expose that port. + +### FastCGI Filr Root Directory + +If you use fastcgi,you can set `VIRTUAL_ROOT=xxx` for your root directory + + ### Default Host To set the default host for nginx use the env var `DEFAULT_HOST=foo.bar.com` for example diff --git a/nginx.tmpl b/nginx.tmpl index f23e627..1b3ff86 100644 --- a/nginx.tmpl +++ b/nginx.tmpl @@ -146,6 +146,10 @@ upstream {{ $upstream_name }} { {{/* Get the HTTPS_METHOD defined by containers w/ the same vhost, falling back to "redirect" */}} {{ $https_method := or (first (groupByKeys $containers "Env.HTTPS_METHOD")) "redirect" }} +{{/* Get the VIRTUAL_ROOT By containers w/ use fastcgi root */}} +{{ $vhost_root := or (first (groupByKeys $containers "Env.VIRTUAL_ROOT")) "/var/www/public" }} + + {{/* Get the first cert name defined by containers w/ the same vhost */}} {{ $certName := (first (groupByKeys $containers "Env.CERT_NAME")) }} @@ -212,6 +216,10 @@ server { {{ if eq $proto "uwsgi" }} include uwsgi_params; uwsgi_pass {{ trim $proto }}://{{ trim $upstream_name }}; + {{ else if eq $proto "fastcgi" }} + root {{ trim $vhost_root }}; + include fastcgi.conf; + fastcgi_pass {{ trim $upstream_name }}; {{ else }} proxy_pass {{ trim $proto }}://{{ trim $upstream_name }}; {{ end }} @@ -250,6 +258,10 @@ server { {{ if eq $proto "uwsgi" }} include uwsgi_params; uwsgi_pass {{ trim $proto }}://{{ trim $upstream_name }}; + {{ else if eq $proto "fastcgi" }} + root {{ trim $vhost_root }}; + include fastcgi.conf; + fastcgi_pass {{ trim $upstream_name }}; {{ else }} proxy_pass {{ trim $proto }}://{{ trim $upstream_name }}; {{ end }} @@ -281,4 +293,4 @@ server { {{ end }} {{ end }} -{{ end }} +{{ end }} \ No newline at end of file