写点什么

Nginx 配置静态文件服务从入门到精通

用户头像
happlyfox
关注
发布于: 2021 年 03 月 16 日

作者:三十三重天

博客:http://www.zhouhuibo.club


通过学习和分享的过程,将自己工作中的问题和技术总结输出,希望菜鸟和老鸟都能通过自己的文章收获新的知识,并付诸实施。


引言


使用 Nginx 布署静态文件服务,Nginx 服务得先有才能进行后续的事情。如果有同学不会部署的,可以参考我的上一篇文章yum安装Nginx全流程指南。已经部署好的同学可以直接看下面的内容了。


Nginx 场景介绍


Nginx 的配置繁多且复杂,但是实际的使用场景其实无非就是这么几个


  • 正向代理

  • 反向代理

  • 负载均衡

  • 动静分离


>针对不同的应用场景有不同的配置文件,在未来我会针对不同的场景依次说明并给出对应的配置文件。在此留个坑,哈哈。


开始配置


回到当前主题,我们是要配置一个静态文件服务供客户端访问。


一、linux 系统定义一个访问目录


在 home 目录新建一个 files 文件夹,里面存放文件供客户端访问


mkdir -p /home/files


二、Nginx 添加一个 Location 将刚才的目录暴露出去


如果你是用 yum 安装 nginx 的,那在etc/nginx/nginx.conf目录下会有一个文件default.conf


default.conf是默认配置文件,暴露 80 端口,默认页面为index.hmtl


cat default.conf可以看到如图所示内容,添加红框中的配置到文件中




location /download { alias /home/files/; autoindex on; }
复制代码


这一段的意思是增加127.0.0.1:80/download的解析,路径指向/home/files文件夹。 autoindex on;代表开启目录浏览


三、检验配置并重启 Nginx


1、检验配置文件是否正确


nginx -t
复制代码


2、重启 nginx


nginx -s reload
复制代码


其他配置项


server {        listen       80;
location /download { #转到的Nginx文件目录 alias /home/files; #打开目录浏览功能 autoindex on; #默认为on,显示出文件的确切大小,单位是bytes #显示出文件的大概大小,单位是kB或者MB或者GB autoindex_exact_size off; #默认为off,显示的文件时间为GMT时间。 #改为on后,显示的文件时间为文件的服务器时间 autoindex_localtime on; #让浏览器不保存临时文件 add_header Cache-Control no-store; #避免中文乱码 charset utf-8,gbk; #希望请求文件是下载而不是显示内容 #add_header Content-Disposition attachment; }}
复制代码


部署过程中出现的问题


404


如果出现 404 错误,大概率可能是配置文件出错。


有可能是 location 后多加一个左斜杠/


也有可以是指向的目录地址不存在


403


403 Forbidden 代表被禁止的,一般是三种情况导致的


1、目录权限不足


检查目录权限。权限不足就将权限加上


chmod -R 755 /home/files
复制代码


2、nginx.conf 用户权限问题


vim /etc/nginx/nginx.conf
复制代码


把 user 用户名 改为 user root 或 其它有高权限的用户名称即可


3 、Centos 中的 selinux 配置未关闭


查看 SELinux 状态:


如果 SELinux status 参数为 enabled 即为开启状态


/usr/sbin/sestatus -v 
复制代码


如何关闭?


1、临时关闭(不用重启机器):


setenforce 0


2、永久关闭(要重启机器)


vim /etc/selinux/config
复制代码


将 SELINUX=enforcing 改为 SELINUX=disabled


END


欢迎关注公众号 程序员工具集 👍👍 致力于分享优秀的开源项目、学习资源 、常用工具。


回复关键词“关注礼包”,送你一份最全的程序员技能图谱。


发布于: 2021 年 03 月 16 日阅读数: 19
用户头像

happlyfox

关注

公众号 程序员工具集 2021.02.18 加入

博客 [www.zhouhuibo.club] 分享优秀的开源项目、学习资源和常用工具。谈论新闻热点、职场经验、学习感悟。共同进步!

评论

发布
暂无评论
Nginx配置静态文件服务从入门到精通