问题描述:
2019/02/14 15:45:30 [crit] 12608#0: *109984486 connect() to 127.0.0.1:80 failed (99: Cannot assign requested address) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /picture/554495.jpg HTTP/1.0", upstream: "http://127.0.0.1:80/picture/554495.jpg", host: "127.0.0.1"
nginx报这个错
nginx配置:如下
location ~* /picture\/(\d+)\.(gif|jpg|jpeg|png)$ {
expires 24h;
root /picture/;#指定图片存放路径
access_log /usr/local/nginx/logs/images.log;#日志存放路径
proxy_store on;
proxy_store_access user:rw group:rw all:rw;
proxy_temp_path /picture/;#图片访问路径
proxy_redirect off;
proxy_set_header Host 127.0.0.1;
client_max_body_size 10m;
client_body_buffer_size 1280k;
proxy_connect_timeout 900;
proxy_send_timeout 900;
proxy_read_timeout 900;
proxy_buffer_size 40k;
proxy_buffers 40 320k;
proxy_busy_buffers_size 640k;
proxy_temp_file_write_size 640k;
if ( !-e $request_filename)
{
proxy_pass http://127.0.0.1;#默认80端口
}
}
原因分析:原有的80端口请求已经太多,有大量的socket连接没有释放,图片请求访问仍然去访问80端口
只有不让访问80端口就可以不报这个错误了
网上解决办法(使用这个方法之后还是会报错)
使用Amazon EC2和弹性IP,服务器并不像大多数其他服务器那样知道其IP。
所以你需要告诉你的linux允许进程绑定到非本地地址。只需将以下行添加到/etc/sysctl.conf
文件中:
# allow processes to bind to the non-local address # (necessary for apache/nginx in Amazon EC2) net.ipv4.ip_nonlocal_bind = 1
然后通过以下方式重新加载sysctl.conf:
$ sysctl -p /etc/sysctl.conf
重新启动就行了:
-----
最后 将以下代码注释掉就没错了
if ( !-e $request_filename)
{
proxy_pass http://127.0.0.1;#默认80端口
}
----------
http://dev.cbs.bacic5i5j.com/picture/554495.jpg 再次访问的时候报
2019/02/14 16:13:05 [error] 13308#0: *110623237 open() "/picture/picture/554495.jpg" failed (2: No such file or directory), client: 10.1.20.35, server: localhost, request: "GET /picture/554495.jpg HTTP/1.1", host: "dev.cbs.bacic5i5j.com"
发现图片路径后面多了一个picture
root /picture/;#指定图片存放路径
把这个改成 root /;
就可以了
最后完成的nginx配置如下
location ~* /picture\/(\d+)\.(gif|jpg|jpeg|png)$ { expires 24h; root /;#指定图片存放路径 access_log /usr/local/nginx/logs/images.log;#日志存放路径 proxy_store on; proxy_store_access user:rw group:rw all:rw; proxy_temp_path /picture/;#图片访问路径 proxy_redirect off; proxy_set_header Host 127.0.0.1; client_max_body_size 10m; client_body_buffer_size 1280k; proxy_connect_timeout 900; proxy_send_timeout 900; proxy_read_timeout 900; proxy_buffer_size 40k; proxy_buffers 40 320k; proxy_busy_buffers_size 640k; proxy_temp_file_write_size 640k; #if ( !-e $request_filename) #{ # proxy_pass http://127.0.0.1;#默认80端口 #} }
相关推荐
在现代Web开发中,由于浏览器的同源策略,跨域问题经常出现,限制了不同源之间的通信。Nginx作为一个高性能的反向代理服务器,常被用于处理此类问题。本篇将详细介绍如何在Linux环境下安装Nginx,并通过修改配置文件...
使用Nginx日志分析工具2.1.0进行日志分析,不仅可以提高运维效率,还能有效地预防和解决可能出现的性能瓶颈和安全问题。例如,通过分析访问日志,可以找出访问量大但响应慢的页面,优化网页代码或调整服务器配置来...
Nginx 跨域问题解决方案 Nginx 是一个流行的开源 Web 服务器软件,广泛应用于 Web 服务器管理。然而,在使用 Nginx 进行服务器管理时,经常会遇到跨域问题。跨域问题是指在不同的域名、端口或协议下,无法访问...
一、什么是跨域问题 在一个服务器A里放置了json文件,另一个服务器B想向A发送ajax请求,获取此文件,会发生错误。 Chrome提示: XMLHttpRequest cannot load ******. No 'Access-Control-Allow-Origin' header is ...
nginx源码说明;其他下载即可,没下载分了,大家互相帮忙。其他情况大概就这些吧,其他也没什么好说的了,看文档即可
Nginx部署及常见问题,Nginx部署及常见问题Nginx部署及常见问题Nginx部署及常见问题Nginx部署及常见问题Nginx部署及常见问题Nginx部署及常见问题Nginx部署及常见问题Nginx部署及常见问题Nginx部署及常见问题Nginx...
2. 配置 Nginx 上的砖发的 Nginx 配置问题导致无法实现跨域请求,是因为他的 Nginx 打在 Windows 系统上,Windows 和 Linux 在配置上有一点区别,在 Windows 上需要去掉 rewrite 的配置,去掉这个后来就好了。...
在使用 Nginx 1.18 的过程中,理解其配置语法和工作原理至关重要,这将有助于优化服务器性能,解决可能出现的问题,并充分利用其功能。通过持续学习和实践,你可以成为熟练驾驭 Nginx 的专业人士。
使用docker部署nginx前后端解决跨域问题
《Nginx源代码剖析》是一本深入探讨Nginx web服务器内部机制的书籍,作者为simohayha。本书主要关注Nginx的核心设计、内存管理、请求处理流程、过滤器机制、输出链管理、并发控制以及处理器设计等多个方面,旨在帮助...
为了解决这个问题,我们可以利用Nginx作为反向代理服务器,将前端的请求转发到后端服务,从而绕过跨域限制。 Nginx是一款高性能、轻量级的HTTP和反向代理服务器,因其强大的负载均衡能力和高效的性能而广泛应用于...
Nginx 1.8.0 安装简述 Nginx 是一种流行的开源 Web 服务器软件,广泛应用于生产环境中。为了帮助读者快速掌握 Nginx 的安装过程,本文将详细介绍 Nginx 1.8.0 的安装步骤。 一、下载依赖项 在安装 Nginx 之前,...
《深入剖析Nginx》不是一本关于Nginx配置指令如何使用的介绍手册。《深入剖析Nginx》重点在于通过剖析Nginx的源代码,探究其功能结构及其内部实现原理。全书共14章和3个附录。首先介绍了开始剖析Nginx源代码前的准备...
arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构...
随着 Nginx 的不断更新和发展,升级 Nginx 版本成为一个不可避免的问题。本文将指导您在 Linux 系统上升级 Nginx 版本,确保升级过程的顺滑和安全。 为什么需要升级 Nginx 版本 升级 Nginx 版本可以带来一些好处,...
在IT行业中,日志分析是监控和调试应用性能的关键环节,尤其对于Web服务器如Nginx来说更是如此。本文将详细介绍如何使用Loki和Grafana构建一个在线的日志分析系统,该系统基于Docker Compose进行一键部署,极大地...
标题中的问题“docker里面nginx目录挂载启动失败”涉及到Docker容器化技术中Nginx服务器的部署,尤其是关于容器的挂载目录设置和启动问题。这个问题的核心在于,尝试将宿主机上的目录挂载到Docker容器内的Nginx配置...
服务器中的错误记录类似于这种: 124.65.133.242 – – [27/Oct/2014:14:30:51 +0800] “-” 400 0 “-” “-” 124.65.133.242 – – [27/Oct/2014:14:31:45 +0800] “-” 400 0 “-” ...经过分析nginx的log文件,发
使用 Nginx 1.13.3 的用户可以通过内置的访问日志功能进行性能监控,同时还可以利用第三方工具(如 Nginx Plus 或监控系统如 Prometheus)进行更深度的分析。定期更新到最新安全补丁和版本是维持服务器安全的关键...
**自动Reload Nginx以解决动态域名解析问题** 在IT运维中,经常遇到的情况是,服务器上的服务IP可能会发生变化,特别是对于使用动态DNS服务的场景。Nginx作为一款广泛使用的反向代理和负载均衡器,它在配置文件中...