Nginx 配置同时监听实现转发两个端口
Nginx配置监听实现转发两个端口Nginx第二次使用一些使用的体验。可以看到与上次不同的地方:不同点1,代码如下upstream my_servers {server ip1:8886 weight=5max_fails=2 fail_timeout=60s;server ip2:8885 weight=1max_fails=2 fail_timeout=60s;}可以看到这次用到了 max_f
·
Nginx 配置监听实现转发两个端口
Nginx 第二次使用
一些使用的体验。
可以看到与上次不同的地方:
不同点1,代码如下
upstream my_servers {
server ip1:8886 weight=5 max_fails=2 fail_timeout=60s;
server ip2:8885 weight=1 max_fails=2 fail_timeout=60s;
}
可以看到这次用到了 max_fails=2 fail_timeout=60s;
这里的理解是 当我们使用Nginx的时候,假设请求放到了 ip1:8886 这个endpoint,但是这个请求之前我就把对应ip1服务器关了,那么这时请求会等待fail_timeout=60s,如果无响应那么去请求ip2,但是下次来请求的时候还是会请求到ip1,那什么时候停止了?就是max_fails,【我的理解是在fail_timeout=内达到max_fails次数,那么在接下来的fail_timeout内,Nginx是不会把请求转发到这个失败达到max_fails的服务器的】
不同点2
这里配置了两个端口转发的监听:其实实现起来很简答,只要server和upstream 多写一对就可以了。
疑惑点: 以下的含义到底是啥》?
proxy_connect_timeout 3;
这里我目前理解为建立连接,失败的最长转发时间,3就是请求建立连接3s后无响应,那么请求下一台
proxy_read_timeout 3;
这里是read我会理解为是类似get方法
proxy_send_timeout 3;
这里是send我会理解为是类似post方法
遇到的问题:
config文件修改后 使用nginx -s reload 的命令结果 没有报错 但是查看log的日志 还是再按照原来的日志跑
解决方案:
1.重启电脑
2.如果是cmd,那么tasklist 然后 找到pid 再taskkill /F /Pid yourpid 再start nginx
完整代码:
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024 ;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream my_servers {
server 127.0.0.1:8886 weight=5 max_fails=2 fail_timeout=60s;
server (改成自己的ip):8885 weight=1 max_fails=2 fail_timeout=60s;
}
upstream my_servers2 {
server 127.0.0.1:81 weight=5 max_fails=2 fail_timeout=60s;
server (改成自己的ip):81 weight=1 max_fails=2 fail_timeout=60s;
}
server {
listen 8887;
server_name my_servers;
# 下面的三个1表示超时分流
location / {
proxy_pass http://my_servers;
proxy_connect_timeout 3;
proxy_read_timeout 3;
proxy_send_timeout 3;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name my_servers2;
# 下面的三个1表示超时分流
location / {
proxy_pass http://my_servers2;
proxy_connect_timeout 1;
proxy_read_timeout 1;
proxy_send_timeout 1;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
更多推荐
已为社区贡献4条内容
所有评论(0)