内容纲要

🗂 本文目录:NGINX >


Web 服务器的一项重要任务是提供文件(如图像或静态 HTML 页面)。

server {
      # IPv4 监听端口
      listen 80;
      # IPv6 监听端口
      listen [::]:80;

      # 绑定域名
      server_name example.com;

      # 部署文件的目录
      root /usr/share/nginx/html;
      index index.html;

      location / {
              # 当文件不存在时返回 404
              try_files $uri $uri/ =404;
      }
}

绑定的域名此处没有设置仅为示例,如果没有域名需要购买,购买后需要解析到部署了 NGINX 的服务器 IP 地址,由于本文主题是 NGINX 这里不做过多阐述。

在配置完成后重新加载 NGINX 配置以使配置文件生效:

$ sudo nginx -s reload
# 或使用 systemd
$ sudo systemctl reload nginx

如果 NGINX 部署在本机上可以使用浏览器访问 IP 127.0.0.1,如果在其他地方(虚拟机、局域网中的某台机器或云主机)输入它的 IP 即可看到效果,当然你的「部署文件的目录」下要有文件如 index.html 否则就只能看到 403 了。

autoindex:目录浏览和索引

这里要提到个很实用的功能,使用选项 autoindex on; 可以开启目录浏览和索引功能

server {
      # IPv4 监听端口
      listen 80;
      # IPv6 监听端口
      listen [::]:80;

      # 绑定域名
      server_name example.com;

      # 部署文件的目录
      root /usr/share/nginx/html;
      index index.html;

      location / {
              # 当文件不存在时返回 404
              try_files $uri $uri/ =404;
      }

      location /down {
              # 开启目录浏览及索引功能
              autoindex on;

              # 默认为 on,显示单位为 bytes。设为 off 后单位显示显示常用单位如 K M G
              # autoindex_exact_size off;

              # 默认为 off,显示的文件时间为 GMT 时间。设为 on 后显示的文件时间为文件的服务器时间
              # autoindex_localtime on;
      }
}

在上述示例中,网站根目录下的 down 目录(不能有 index.html文件)开启了 autoindex on;,假设该服务器地址为 192.168.1.2,那么当访问 URI 为 http://192.168.1.2/down/ 时,这个目录下的内容会以类似于操作系统上使用文件管理器时的列表形式展示。

另外还有 autoindex_exact_sizeautoindex_localtime 两个功能默认注释了,去掉井号就可以将其开启,自己动手试试吧。