1配置文件 /etc/nginxnginx.conf

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

docker 安装的nginx 的默认配置

2 default.conf 配置

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

docker 安装的nginx 的默认配置

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

docker 安装的nginx 的默认配置

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

docker 安装的nginx 的默认配置

重启服务

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引入方式则无法正常显示,原因暂时未知

下面无法访问

docker 安装的nginx 的默认配置

docker 安装的nginx 的默认配置

下面可以访问

docker 安装的nginx 的默认配置

找到问题所在啦!!!!

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

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

nginx 配置 header 头部之 content-type

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

docker 安装的nginx 的默认配置