【Nginx】配置nginx图片服务器
想通过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
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搭建HTTPS服务器和强制使用HTTPS访问的方法
-
Nginx DNS resolver配置实例
-
nginx服务器access日志中大量400 bad request错误的解决方法
-
分析nginx日志并屏蔽采集者ip(nginx屏蔽ip配置实例)
-
nginx跨域解决方案(教你nginx如何配置跨域)
-
nginx配置反向代理和负载均衡(nginx功能介绍和使用)
-
阿里云服务器ECS上ubuntu安装nginx后默认站点页面打开错误,显示无法访问此网站
-
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
-
nginx配置反向代理和负载均衡(nginx功能介绍和使用)
-
nginx跨域解决方案(教你nginx如何配置跨域)