Nginx 搭建文件服务器

Nginx 的地位不言而喻, 几乎所有以 java 为主要开发语言的的公司都会用到,所以 Nginx 就成了 java 开发人员必须掌握的技能之一。

学习 Nginx 说白了就是要学习它的指令(directive), 本文涉及到的指令有:server、location、alias、autoindex。

下面就逐一介绍这些指令,最后使用这些指令来搭建一个文件服务器。

1. server

这里涉及到一个技术:虚拟托管(virtual hosting),nginx 使用 server 指令来支持该技术。

虚拟托管是一种在单个服务器(或服务器池)上托管多个域名(对每个域名分别进行处理)的方法。这允许一台服务器共享其资源,例如内存和处理器周期,而不要求提供的所有服务使用相同的主机名。虚拟主机这一术语通常用于指web服务器,但其原理确实适用于其他互联网服务。

2. location

    根据 uri 进行路由匹配的指令,支持前缀匹配和正则匹配,优先前缀匹配,然后才是正则匹配。

# 使用 =, 精准匹配
location = / {
    [ configuration A ]
}
# 前缀匹配,以最长匹配为准
location / {
    [ configuration B ]
}
location /documents/ {
    [ configuration C ]
}
# ^~ 表示: 最长前缀匹配后,不再检查正则匹配
# 注意:~^ 和 ~ ^ 则表示正则匹配, 只有 ^ 不是正则,会报404!
location ^~ /images/ {
    [ configuration D ]
}
​
# 正则匹配以(~*或~)开始: ~* 表示大小写不敏感(默认), ~ 大小写敏感
# 正则匹配顺序,按照书写顺序,匹配到就不再往下匹配
location ~* \.(gif|jpg|jpeg)$ {
    [ configuration E ]
}
​
# /  匹配configuration A, (精准匹配)
# /index.html  匹配configuration B,  (前缀匹配)
# /documents/document.html 匹配configuration C, (最长前缀匹配) 
# /images/1.gif 匹配 configuration D, (前缀匹配后,立刻停止检查)
# /documents/1.jpg 匹配 configuration E. (前缀匹配后,又继续正则匹配)
​

3. alias

    为指定的 location 定义一个替换项。

# 当访问 /i/top.gif,  /data/w3/images/top.gif 文件被返回.location /i/ {    alias /data/w3/images/;}

4. autoindex

    打开或关闭目录列表

以上指令都比较简单,相对复杂点的就是 location ,我曾经解决线上问题而深入研究过匹配规则。

最后使用这 4 个指令搭建一个简单的文件服务器:

server {        listen       80;        server_name  localhost;        location / {            root   html;            index  index.html index.htm;        }        location /doc/ {            alias   F:/;            autoindex on;                          }}

配置后,重启nginx,效果如下:


如果觉得还不错的话,关注、分享、在看, 原创不易,且看且珍惜~

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【非典型Coder】

赏个鸡腿吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值