求助:docker启动nginx mime.types 和 fastcgi_params 报错

问题:

  1. docker启动nginx时候,mime.types报错
  2. 站点配置里面 include fastcgi_params 也报错

1. mime.types报错相关

nginx容器报错日志:

2018/09/25 13:27:27 [emerg] 1#1: open() "/etc/nginx/mime.types" failed (2: No such file or directory) in /etc/nginx/nginx.conf:14
nginx: [emerg] open() "/etc/nginx/mime.types" failed (2: No such file or directory) in /etc/nginx/nginx.conf:14

nginx.conf 文件如下

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include         mime.types;
    default_type    application/octet-stream;

    log_format main  '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for"';

    # access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        # listen       8080;
        # server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        # location / {
        #     root   html;
        #     index  index.html index.htm;
        # }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        # error_page   500 502 503 504  /50x.html;
        # location = /50x.html {
        #     root   html;
        # }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }

    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
    include ./conf.d/*;
}

2. include fastcgi_params 报错相关

nginx容器报错内容

nginx: [emerg] open() "/etc/nginx/fastcgi_params" failed (2: No such file or directory) in /etc/nginx/./conf.d/www.php.cc.conf:23

www.php.cc.conf 配置内容

server {
    listen    80;
    server_name    www.php.cc;
    root    /etc/www/php;

    location / {
        index    index.html index.php index.htm;
    }
    #错误页的配置
    error_page 404 /error.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root html;
    }
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    location ~ \.php$ {
        fastcgi_pass 172.17.0.3:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    location ~ /\.ht {
        deny all;
    }
}
回复
阅读 6.4k
3 个回答

先检查一下你的挂载配置,有时候有的朋友喜欢把整个 nginx 配置目录挂载到 /etc/nginx 里。殊不知你只在这个目录里加了 nginx.conf ,但容器中 /etc/nginx 目录下面还有很多其他的文件,你直接挂载整个目录进去,其他的文件便会随着目录的挂载而消失,自然读取配置会出现问题。

解决这个问题的方法有两种:

  1. 把目录挂载改为文件挂载,只挂载 nginx.conf ,也就是 -v ~/nginx/nginx.conf:/etc/nginx/nginx.conf
  2. 是把容器中 /etc/nginx 目录中的其他内容也拷贝到要挂载的目录里,随着目录一起挂载进去

看了报错 很明显 就是在/etc/nginx下没有那两个文件 进入 docker ssh 后将路径输出下 看看 注意两点 1、 是否文件存在 2 是否权限正确

新手上路,请多包涵

include mime.types; 这个文件找不到。。 看不到你开启docker时候的配置信息 也不敢瞎说!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
1 篇内容引用
推荐问题
宣传栏