【Nginx二】Nginx作为静态文件HTTP服务器

编程技术  /  houtizong 发布于 3年前   91

 Nginx作为静态文件HTTP服务器

  1. 在本地系统中创建/data/www目录,存放html文件(包括index.html)
  2. 创建/data/images目录,存放imags图片
  3. 在主配置文件中添加http指令

 

http {    server {        listen       80;        server_name  localhost;    }}

 

      说明:在 http指令中可以定义多个server指令,通过监听端口号以及server name进行来区分每个server。当Nginx通过判断请求Header中url(服务器名字、端口号以及URI)以及 Server指令下定义的location指令来决定使用哪个服务器(以及匹配Server指令下的哪个location指令)来处理请求

 

  4. 在server指令中添加location指令

 

location / {    root /data/www;}

 

 

      说明:在 server指令中,可以添加多个location指令以匹配不同的请求,不同的请求到不同的系统路径下获取资源。在上面的location指令 中,location之后的“/”称为前缀。location指 令指定了"/"前缀与请求的URI进行比较(从左向由,匹配成功也就意味着RequestURI.startWith(前缀))。对于匹配上的请 求,RequestURI将添加到由root指令指定的path之后,因为这里的前缀是“/”,所以最后得到请求对应到文件系统上路径是/data /www/RequestURI。如果有多个location匹配成功,则匹配前缀最长的那个。这个例子中,"/"是最短的后缀,因此只有当前server指令下所有其它的location定义的后缀匹配失败,才会匹配成功"/"

 

 

5. 在Server中添加如下的配置片段

 

location /images/ {    root /data;}

 

说明:这段配置将匹配请求为以/images/开头的请求。以/images/开头的请求在4中定义的/也会匹配,但是它的长度没有/images/长,所以,对于/images/开头的请求,这个配置将被选中,并且对应到文件系统的路径是/data/RequestURI

 

  • 对于请求http://localhost/,只有4中的location符合,那么nginx将返回/data/www/index.html
  • 对于请求http://localhost/images/example.png,那么5中定义的location符合,那么nginx将返回/data/images/example.png
  • 对于请求http://localhost/some/example.html,由于5中定义的location不符合,只有4中定义的符合,那么/data/www/some/example.html文件将被返回
  • 对于上面的请求,如果Nginx从文件系统找不到指定的文件,Nginx将返回404错误

 

6. 完成如上配置后,运行nginx -s reload重新加载配置文件,可以测试上面的规则是否正确

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客