nginx 基本配置都是在安装目录下的 conf/nginx.conf 文件中。
#mime.types
看下面的默认配置:
http { include mime.types; // 可以单独配置文件}
MIME-type 和 Content-Type 的关系: 当 web 服务器收到静态的资源文件请求时,依据请求文件的后缀名在服务器的 MIME 配置文件中找到对应的 MIME Type,再根据 MIME Type 设置 HTTP Response 的Content-Type,然后浏览器根据 Content-Type 的值处理文件。
什么是 MIME-TYPE: 为什么这么说呢?首先,我们要了解浏览器是如何处理内容的。在浏览器中显示的内容有 HTML、有 XML、有 GIF、还有 Flash ... 那么,浏览器是如何区分它们,绝定什么内容用什么形式来显示呢?答案是 MIME Type,也就是该资源的媒体类型。
媒体类型通常是通过 HTTP 协议,由 Web 服务器告知浏览器的,更准确地说,是通过 Content-Type 来表示的,例如: Content-Type: text/HTML 表示内容是 text/HTML 类型,也就是超文本文件。为什么是 “text/HTML” 而不是 “HTML/text” 或者别的什么?MIME Type 不是个人指定的,是经过 ietf 组织协商,以 RFC 的形式作为建议的标准发布在网上的,大多数的 Web 服务器和用户代理都会支持这个规范 (顺便说一句,Email 附件的类型也是通过 MIME Type 指定的)。 通常只有一些在互联网上获得广泛应用的格式才会获得一个 MIME Type,如果是某个客户端自己定义的格式,一般只能以 application/x- 开头。 XHTML 正是一个获得广泛应用的格式,因此,在 RFC 3236 中,说明了 XHTML 格式文件的 MIME Type 应该是 application/xHTML+XML。 当然,处理本地的文件,在没有人告诉浏览器某个文件的 MIME Type 的情况下,浏览器也会做一些默认的处理,这可能和你在操作系统中给文件配置的 MIME Type 有关。比如在 Windows 下,打开注册表的“HKEY_LOCAL_MACHINESOFTWAREClassesMIMEDatabaseContent Type”主键,你可以看到所有 MIME Type 的配置信息。
#多站点的配置
配置站点自然是在 nginx.conf 文件内,但是,不利于维护,所以利用 include 在别处创建一个文件夹,专门收集站点的配置;比如我有两个站点需要配置,在 conf 文件夹下新建一个 servers 由于放置站点的配置;并增加 test.conf 以及 test2.conf,然后在 nginx.conf 文件