Nginx 配置静态文件服务从入门到精通
作者:三十三重天
通过学习和分享的过程,将自己工作中的问题和技术总结输出,希望菜鸟和老鸟都能通过自己的文章收获新的知识,并付诸实施。
引言
使用 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
可以看到如图所示内容,添加红框中的配置到文件中
这一段的意思是增加127.0.0.1:80/download
的解析,路径指向/home/files
文件夹。 autoindex on;
代表开启目录浏览
三、检验配置并重启 Nginx
1、检验配置文件是否正确
2、重启 nginx
其他配置项
部署过程中出现的问题
404
如果出现 404 错误,大概率可能是配置文件出错。
有可能是 location 后多加一个左斜杠/
也有可以是指向的目录地址不存在
403
403 Forbidden 代表被禁止的,一般是三种情况导致的
1、目录权限不足
检查目录权限。权限不足就将权限加上
2、nginx.conf 用户权限问题
把 user 用户名 改为 user root 或 其它有高权限的用户名称即可
3 、Centos 中的 selinux 配置未关闭
查看 SELinux 状态:
如果 SELinux status 参数为 enabled 即为开启状态
如何关闭?
1、临时关闭(不用重启机器):
setenforce 0
2、永久关闭(要重启机器)
将 SELINUX=enforcing 改为 SELINUX=disabled
END
欢迎关注公众号 程序员工具集 👍👍 致力于分享优秀的开源项目、学习资源 、常用工具。
回复关键词“关注礼包”,送你一份最全的程序员技能图谱。
版权声明: 本文为 InfoQ 作者【happlyfox】的原创文章。
原文链接:【http://xie.infoq.cn/article/22a4393868af1ece5097038c9】。文章转载请联系作者。
评论