#!/bin/sh # vim:sw=4:ts=4:et set -e # /etc/nginx/conf.d/servers.conf 文件不存在,就通过环境变量 UPSTREAM_WEB_SERVERS,UPSTREAM_MANAGE_SERVERS生成/data/vp/nginx/conf/servers.conf if [ ! -f "/data/vp/nginx/conf/servers.conf" ]; then echo "BEGIN REPLACE SERVERS.CONF ...." if [ -z "${UPSTREAM_MANAGE_SERVERS}" ]; then echo "ENVIRONMENT VARIABLE UPSTREAM_MANAGE_SERVERS is empty, use UPSTREAM_WEB_SERVERS ...." export UPSTREAM_MANAGE_SERVERS="${UPSTREAM_WEB_SERVERS}" fi envsubst '$UPSTREAM_WEB_SERVERS' < /data/vp/nginx/conf/servers.conf.template> /data/vp/nginx/conf/servers.tmp envsubst '$UPSTREAM_MANAGE_SERVERS' < /data/vp/nginx/conf/servers.tmp > /data/vp/nginx/conf/servers.conf else echo "SERVERS.CONF ALREADY EXISTS" fi entrypoint_log() { if [ -z "${NGINX_ENTRYPOINT_QUIET_LOGS:-}" ]; then echo "$@" fi } if [ "$1" = "nginx" ] || [ "$1" = "nginx-debug" ]; then if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -maxdepth 1 -type f -print -quit 2>/dev/null | read v; then entrypoint_log "$0: /docker-entrypoint.d/ is not empty, will attempt to perform configuration" entrypoint_log "$0: Looking for shell scripts in /docker-entrypoint.d/" find "/docker-entrypoint.d/" -follow -type f -print | sort -V | while read -r f; do case "$f" in *.envsh) if [ -x "$f" ]; then entrypoint_log "$0: Sourcing $f"; . "$f" else # warn on shell scripts without exec bit entrypoint_log "$0: Ignoring $f, not executable"; fi ;; *.sh) if [ -x "$f" ]; then entrypoint_log "$0: Launching $f"; "$f" else # warn on shell scripts without exec bit entrypoint_log "$0: Ignoring $f, not executable"; fi ;; *) entrypoint_log "$0: Ignoring $f";; esac done entrypoint_log "$0: Configuration complete; ready for start up" else entrypoint_log "$0: No files found in /docker-entrypoint.d/, skipping configuration" fi fi exec "$@"