我有一个运行 Nginx 的 docker 容器,它链接到另一个 docker 容器。第二个容器的主机名和 IP 地址在启动时作为环境变量加载到 Nginx 容器中,但在此之前不知道(它是动态的)。我希望我nginx.conf使用这些值 - 例如
upstream gunicorn {
server $APP_HOST_NAME:$APP_HOST_PORT;
}
Run Code Online (Sandbox Code Playgroud)
如何在启动时将环境变量添加到 Nginx 配置中?
编辑 1
这是整个文件,在下面的建议答案之后:
env APP_WEB_1_PORT_5000_TCP_ADDR;
# Nginx host configuration for django_app
# Django app is served by Gunicorn, running under port 5000 (via Foreman)
upstream gunicorn {
server $ENV{"APP_WEB_1_PORT_5000_TCP_ADDR"}:5000;
}
server {
listen 80;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location /static/ {
alias /app/static/;
}
location /media/ {
alias /app/media/;
}
location / {
proxy_pass http://gunicorn;
} …Run Code Online (Sandbox Code Playgroud) 我已将 Apache 配置为发回 200 响应,而不使用此配置行提供任何文件
Redirect 200 /hello
Run Code Online (Sandbox Code Playgroud)
我可以用 Nginx 做到这一点吗?我不想提供文件,我只希望服务器响应 200(我只是记录请求)。
我知道我可以添加一个索引文件并实现相同的目的,但是在配置中执行此操作意味着可能会出错的事情少了一件。