docker 安装的nginx 的默认配置

1配置文件 /etc/nginxnginx.conf

  • 会默认引入conf.d 下的所有以 *.conf结尾的文件
  • 指定log 目录 /var/log/nginx/access.log

2 default.conf 配置

  • 指定了默认访问的index.html 路径 为 /usr/share/nginx/html

3 还有一种情况下 conf.d 下面为空的 则引入的为

则引入的 默认的index.html 在/var/www/html 下

重启服务

sudo service nginx restart

疑难杂症之 启动 映射主机无法访问

docker run -p 8080:80 --name nginx_web2 -v /var/log/nginx/:/var/log/nginx -v /home/kk/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/share/nginx/html/:/usr/share/nginx/html nginx

这样启动 一直 在主机无法访问 经过测试 发现在 nginx.conf 里如果 直接把server 写在 http内部 而不是通过include引入 则没问题, 改成include引入方式则无法正常显示,原因暂时未知

下面无法访问

下面可以访问

找到问题所在啦!!!!

重点在于 我们只是对 nginx.conf 做了 内外映射, 那么当执行nginx.conf时候其实是把这个文件读取到container内部执行 所以nginx里写的 include /etc/nginx/mime.types;

实际上是 内部的路径,而不是外部的路径!!!!

nginx 配置 header 头部之 content-type

是通过 include /etc/nginx/mime.types; 引入,会根据不同的请求 资源类型 返回不同的 contenttype, 这很关键,比如 我们写死 返回头为 text/plain 则 在返回其他如json 或者 样式 文件 就会客户端不识别

posted @ 2018-03-16 13:54  _白马非马  阅读(11197)  评论(0编辑  收藏  举报