nginx.conf
http://www.ttlsa.com/nginx/use-nginx-proxy/
err: 出现504 gateway timeout
errLog:
......upstream timed out(110:Connectiontimed out)whilereading response header from upstream,client........
修改配置文件nginx.conf
user
www
www
;
worker
_processes
1
;
error_log
logs
/
error
.
log
;
pid
logs
/
nginx
.
pid
;
worker_rlimit
_nofile
65535
;
events
{
use
epoll
;
worker
_connections
65535
;
}
http
{
include
mime
.
types
;
default_type
application
/
octet
-
stream
;
include
/
usr
/
local
/
nginx
/
conf
/
reverse
-
proxy
.
conf
;
sendfile
on
;
keepalive
_timeout
65
;
gzip
on
;
client_max_body
_size
50m
;
#缓冲区代理缓冲用户端请求的最大字节数,可以理解为保存到本地再传给用户
client_body_buffer
_size
256k
;
client_header
_timeout
3m
;
client_body
_timeout
3m
;
send
_timeout
3m
;
proxy_connect
_timeout
300s
;
#nginx跟后端服务器连接超时时间(代理连接超时)
proxy_read_timeout 300s;
#连接成功后,后端服务器响应时间(代理接收超时)
重要
proxy_send
_timeout
300s
;
proxy_buffer
_size
64k
;
#设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy
_buffers
4
32k
;
#proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
proxy_busy_buffers
_size
64k
;
#高负荷下缓冲大小(proxy_buffers*2)
proxy_temp_file_write
_size
64k
;
#设定缓存文件夹大小,大于这个值,将从upstream服务器传递请求,而不缓冲到磁盘
proxy_ignore_client_abort
on
;
#不允许代理端主动关闭连接
server
{
listen
80
;
server_name
localhost
;
location
/
{
root
html
;
index
index
.
html
index
.
htm
;
}
error
_page
500
502
503
504
/
50x.html
;
location
=
/
50x.html
{
root
html
;
}
}
}
根据域名自动转发到相应服务器的特定端口(前端负载)
编辑反向代理服务器配置文件:
在浏览器中输入xxx123.tk的时候访问的内网服务器192.168.10.38的3000端口,输入xxx456.tk访问192.168.10.40的80端口的作用
server
{
listen
80
;
server_name
xxx123
.
tk
;
location
/
{
proxy_redirect
off
;
proxy_set_header
Host
$
host
;
proxy_set
_header
X
-
Real
-
IP
$
remote_addr
;
proxy_set
_header
X
-
Forwarded
-
For
$
proxy_add_x_forwarded_for
;
proxy_pass
http
:
//192.168.10.38:3000;
}
access_log
logs
/
xxx123
.
tk_access
.
log
;
}
server
{
listen
80
;
server_name
xxx456
.
tk
;
location
/
{
proxy_redirect
off
;
proxy_set_header
Host
$
host
;
proxy_set
_header
X
-
Real
-
IP
$
remote_addr
;
proxy_set
_header
X
-
Forwarded
-
For
$
proxy_add_x_forwarded_for
;
proxy_pass
http
:
//192.168.10.40:80;
}
access_log
logs
/
xxx456
.
tk_access
.
log
;
}
后端负载:
upstream
monitor_server
{
//关键
server
192.168.0.131
:
80
;
server
192.168.0.132
:
80
;
}
server
{
listen
80
;
server_name
nagios
.
xxx123
.
tk
;
location
/
{
proxy_redirect
off
;
proxy_set_header
Host
$
host
;
proxy_set
_header
X
-
Real
-
IP
$
remote_addr
;
proxy_set
_header
X
-
Forwarded
-
For
$
proxy_add_x_forwarded_for
;
proxy_pass
http
:
//monitor_server;
//关键
}
access_log
logs
/
nagios
.
xxx123
.
tk_access
.
log
;
}