引言
使用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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库