linux下使用nginx作为图片服务器 ,访问图片404

当前配置
在这里插入图片描述
浏览器访问
在这里插入图片描述
但是会发现文件找不到会一直404,原因是根路径配置错误,来看下root路径原理:

root 配置的意思是,会在root配置的目录后跟上URL,组成对应的文件路径。

意思就是我们在浏览器输入的这个地址实际访问的是

/home/ftpuser/images/images/~~~

会把我们的location后面的 /images拼到实际访问的路径之后

处理方法有两种任选其一:

1、处理方法是把root后面的images去掉,如下:

在这里插入图片描述
这样在到浏览器输入之前的那个地址就能访问到图片

在这里插入图片描述
2、第二种解决办法就是:使用alias配置访问路径在这里插入图片描述
总结:
root响应的路径:配置的路径(root指向的路径)+完整访问路径(location的路径)+静态文件
alias响应的路径:配置路径+静态文件(去除location中配置的路径)

一般情况下,在location /中配置root,在location /other中配置alias

以下是一个简单的 Nginx 图片服务器配置示例: ``` http { # 定义 Nginx 的 worker 进程数 worker_processes auto; # 定义 Nginx 的错误日志和访问日志路径 error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; # 定义 Nginx 的默认 MIME 类型 default_type application/octet-stream; # 定义 Nginx 的文件缓存路径和大小 open_file_cache max=1000 inactive=20s; open_file_cache_valid 30s; open_file_cache_min_uses 2; open_file_cache_errors on; # 定义 Nginx 的 Gzip 压缩 gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; # 定义 Nginx 的虚拟主机配置 server { # 定义监听的端口和服务器名称 listen 80; server_name example.com; # 定义静态文件的根目录 root /var/www/html; # 定义图片文件的访问路径和缓存时间 location /images/ { expires 30d; add_header Cache-Control "public"; } # 定义 Nginx 的错误页和重定向 error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } } ``` 在以上示例中,我们定义了 Nginx 的 worker 进程数、错误日志和访问日志路径、默认 MIME 类型、文件缓存路径和大小、Gzip 压缩、虚拟主机配置等等。 我们将静态文件的根目录设置为 `/var/www/html`,并定义了图片文件的访问路径为 `/images/`,并设置了缓存时间和 Cache-Control 头。 最后我们还定义了 Nginx 的错误页和重定向,以便在发生错误时能够正确地处理。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值