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

经过学习和分享的过程,将本身工做中的问题和技术总结输出,但愿菜鸟和老鸟都能经过本身的文章收获新的知识,并付诸实施。
linux

引言

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

Nginx 场景介绍

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

  • 正向代理
  • 反向代理
  • 负载均衡
  • 动静分离

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

开始配置

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

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

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

mkdir -p /home/files负载均衡

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

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

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

cat default.conf能够看到如图所示内容,添加红框中的配置到文件中学习

image-20210315195913846

    location /download {
        alias   /home/files/;
        autoindex on;
    }

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

3、检验配置并重启Nginx

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

nginx -t

二、重启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  表明被禁止的,通常是三种状况致使的

一、目录权限不足

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

chmod -R 755 /home/files

二、nginx.conf用户权限问题

vim /etc/nginx/nginx.conf

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

3 、Centos中的selinux配置未关闭

查看SELinux状态:

若是SELinux status参数为enabled即为开启状态

/usr/sbin/sestatus -v

如何关闭?

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

setenforce 0

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

vim /etc/selinux/config

将SELINUX=enforcing改成SELINUX=disabled

END

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

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

wechat.png

相关文章
相关标签/搜索