小编was*_*ner的帖子

将 docker nginx 访问日志存储在 docker 卷中

目前我的 docker 容器正在将 nginx 访问日志打印到 /dev/stdout。如何在我的 docker 容器内创建一个卷来存储访问日志?

我的 Dockerfile:

FROM python:3.7

ENV APP_ROOT /src
ENV CONFIG_ROOT /config

RUN apt-get update
RUN apt-get install -y apt-utils
RUN apt-get -y install unixodbc-dev
RUN apt-get -y install default-libmysqlclient-dev

RUN mkdir ${CONFIG_ROOT}
COPY /app/requirements.txt ${CONFIG_ROOT}/requirements.txt
RUN pip install -r ${CONFIG_ROOT}/requirements.txt

RUN mkdir ${APP_ROOT}
WORKDIR ${APP_ROOT}

ADD /app/ ${APP_ROOT}
Run Code Online (Sandbox Code Playgroud)

我的 docker-compose.yml:

version: "3"

services:
  app:
    build: .
    container_name: django-gunicorn
    restart: always
    env_file:
      - django.env
    ports:
      - "8000:8000"
    command:
      "gunicorn --workers=2 --bind=0.0.0.0:8000 mysite.wsgi:application"

  nginx:
    image: …
Run Code Online (Sandbox Code Playgroud)

nginx docker docker-compose

8
推荐指数
2
解决办法
7791
查看次数

nginx - 每个单独 url 的速率限制

我遇到了一个问题,我试图为单个位置块中的每个单独的 URL 设置速率限制,例如“位置/{}”

limit_req_zone $request_uri zone=one:10m rate=6r/m;



location / {
    proxy_pass http://app:8000;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    limit_req zone=one;
}
Run Code Online (Sandbox Code Playgroud)

最后,url "/example/1" 每秒可以发送 5 个请求,而 "/example/2" 每秒可以发送另外 5 个请求。

nginx rate-limiting nginx-config

5
推荐指数
0
解决办法
866
查看次数