欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【Nginx】配置nginx图片服务器

程序员文章站 2022-07-13 11:58:27
...

想通过nginx来访问服务器上的图片

可以搭建一个nginx图片服务器。

做法如下:

先安装nginx,这里直接用yum来进行安装的

安装方法如下:

https://blog.csdn.net/imliuqun123/article/details/103473154

安装完成后,到/etc/nginx/conf.d/下

复制default.conf或者直接修改default.conf也可以,我这里就直接修改了

vim default.conf

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
#在下面添加如下内容:
    location /images {
        root   /usr/local/src/;
        autoindex on;
    }

添加完成后,保存退出,并创建相关路径和上传图片

mkdir /usr/local/src/images/ 

上传图片,可以使用winscp,rz,或者其他习惯的手法

上传完成后,检验nginx的配置文件格式是否正确

nginx -t 

没问题后,进行nginx的重启或者重新载入配置

systemctl restart nginx 或者nginx -s reload

全部都ok后,在浏览器中,输入url访问

http://192.168.25.100/images/2.jpg

 

 

【Nginx】配置nginx图片服务器

But:持续出现404报错,导致问题持续了好久,下面是总结

问题:

前期配置的时候,配置文件如下:

    location /images/ {
        root   /usr/local/src/images;
        autoindex on;
    }

导致持续是404报错,结果是对root的原理和分析不到位造成的。

下面的root /usr/local/src/images路径本身没有错误,但是他和上面localtion images/ 出现了重叠

也就是当你使用/usr/local/src/images的时候访问网站的url

输入的网址为:http://192.168.25.100/images/2.jpg

但经过nginx的配置后,就变成了

http://192.168.25.100/images/images/2.jpg

这个路径肯定是不存在的,所以持续报错

而当配置修改为后:

    location /images {
        root   /usr/local/src;
        autoindex on;
    }

再次访问images的时候,就不会出现重叠,文件自然而然就能展示出来了

这里有一个大坑,同学们不要掉进去哦

还有一种方法避免大坑,就是将root修改为alias

    location /images {
        alias   /usr/local/src/images;
        autoindex on;
    }

这样访问的nginx也是不会报404的

一般情况下,location / 下面会使用root,而location /xxx/ 下面都会使用alias来区分和防止出现问题

 

 

 

相关标签: nginx