欢迎光临
我们一直在努力

Nginx 搭建文件服务器

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

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

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

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,效果如下:


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

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:Nginx 搭建文件服务器
文章链接:https://www.jmwz.net/1343.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到: 更多 (0)