看不到nginx日志

时间:2018-11-30 15:13:27

标签: nginx nginx-config

我试图确认我的日志为json格式,但我什至看不到一个日志。我正在使用docker-compose

version: '3'
services:
  nginx:
    image: test_site
    volumes:
      - /Users/mikeJ/Desktop/test-logs/access:/tmp/logs/access
      - /Users/mikeJ/Desktop/test-logs/error:/tmp/logs/error
    build:
      context: .
    restart: unless-stopped      
    ports:
      - "8040:8040"

ngnix.conf

worker_processes 1;

events { worker_connections 1024; }

http {
  include    mime.types;
  sendfile on;
  access_log on;

 log_format json_combined escape=json
   '{'
     '"time_local":"$time_local",'
     '"remote_addr":"$remote_addr",'
     '"remote_user":"$remote_user",'
     '"request":"$request",'
     '"status": "$status",'
     '"body_bytes_sent":"$body_bytes_sent",'
     '"request_time":"$request_time",'
     '"http_referrer":"$http_referer",'
     '"http_user_agent":"$http_user_agent"'
   '}';

  server {
    listen 8040;

    error_log /tmp/logs/error/error.log warn;
    access_log /tmp/logs/access/access.log;

    server_name localhost;
    location /{
      root /usr/share/nginx/html/;
      index index.html;
    }

  location ~ ^/test/footer {
    root /usr/share/nginx/html/;
    expires 5m;
    access_log on;
}

}

dockerfile

FROM nginx:1.15.0-alpine

RUN rm -v /etc/nginx/nginx.conf

# Copying nginx configuration file
ADD nginx.conf /etc/nginx/

# setup nginx caching
RUN mkdir -p /tmp/nginx/cache

#create directory for logs
RUN mkdir -p /tmp/logs/error
RUN mkdir -p /tmp/logs/access

#adding footer file
ADD footer /usr/share/nginx/html/footer

# Expose ports
EXPOSE 8040

我什至ssh进入容器,什么也没有。

从容器内部

 # ps aux | grep nginx
    1 root       0:00 nginx: master process nginx -g daemon off;
    7 nginx      0:00 nginx: worker process

1 个答案:

答案 0 :(得分:0)

您能否确认nginx.conf是否正确? 似乎nginx进程没有权限写入创建的目录。

ps -eo "%U %G %a" | grep nginx 

运行以上命令以学习用户。您的情况是nginx。 更改日志目录的所有者和组,然后重新加载nginx服务。

#create directory for logs
RUN mkdir -p /tmp/logs/error
RUN mkdir -p /tmp/logs/access && \
    chown -R nginx:nginx /tmp/logs/

#adding footer file
ADD footer /usr/share/nginx/html/footer

在访问您的URL之一后检查日志文件夹。