nginx简单文件服务器配置

该博客只是工作笔记

嗯,比较简单,配置如下:

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location /media {
	root /opt/media;
        sendfile on;
        tcp_nodelay on;
        autoindex on;

    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

}

然后通过浏览器访问一下,在浏览器中输入http://IP:PORT/media
发现出现了404
这是为啥,检查一下配置,才知道果然配置错了,我的/opt/media下的结构如下:

[root@VM_0_15_centos media]# pwd
/opt/media
[root@VM_0_15_centos media]# tree
.
├── 1.pdf
└── code
    └── run.sh

1 directory, 2 files

我的/opt/media下是没有media的,所以显示404,上面的配置在访问http://IP:PORT/media的时候其实访问的是/opt/media/media下的文件,如果想正常访问,需要将root改为 /opt,修改后如下:

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location /media {
	root /opt;
        sendfile on;
        tcp_nodelay on;
        autoindex on;

    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

}

测试一下,ok了
在这里插入图片描述

上面的问题使用alias也是可以解决的,这个涉及到了root和alias的区别,alias是为映射目录的别名,不会将location后面的url加入到映射目录后面,也可以理解为重定向吧
配置如下:

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location /media {
	alias /opt/media;
        sendfile on;
        tcp_nodelay on;
        autoindex on;

    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值