乐趣区

关于nginx:Nginx配置静态文件服务从入门到精通

作者:三十三重天

博客: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

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

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

退出移动版