代码
user nginx nginx;
worker_processes 40;
worker_rlimit_nofile 65535;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 8192;
}
http {
# 按日生成错误日志
map $time_iso8601 $errlogdate {
"~^(?<ymd>\d{4}-\d{2}-\d{2})" $ymd;
}
# 按日生成访问日志
map $time_iso8601 $acclogdate {
"~^(?<ymd>\d{4}-\d{2}-\d{2})" $ymd;
}
include /home/tuners/nginx-1.25.3/conf/mime.types;
default_type application/octet-stream;
sendfile on;
# 限制文件上传大小
client_max_body_size 1024m;
keepalive_timeout 65;
upstream backend {
server 10.10.10.130:8083;
}
server {
listen 8082;
server_name localhost;
# listen 8161;
# server_name localhost;
location / {
proxy_pass http://backend;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
access_log /var/log/nginx/access_$acclogdate.log;
}
}
stream {
# tcp负载均衡
#中间件
upstream agent{
server 10.10.10.130:5001 max_fails=6000 fail_timeout=60s;
}
server {
listen 5000;
proxy_connect_timeout 5s;
proxy_timeout 10m;
###proxy_timeout 24h;
###这个参数在使用EMQ压力测试时很有用,刚开始设备的超时时间过段,导致测试一小会儿就出现 {shutdown,connack_timeout}
proxy_pass agent;
}
#mssql数据库连接
upstream mssql{
server 10.10.10.10:1433 max_fails=6000 fail_timeout=60s;
}
server {
listen 1433;
proxy_connect_timeout 30s;
proxy_timeout 10m;
###proxy_timeout 24h;
###这个参数在使用EMQ压力测试时很有用,刚开始设备的超时时间过段,导致测试一小会儿就出现 {shutdown,connack_timeout}
proxy_pass mssql;
}
#流媒体
upstream easyd{
server 10.10.10.130:555 max_fails=6000 fail_timeout=10s;
}
server {
listen 554;
proxy_connect_timeout 5s;
proxy_timeout 10m;
###proxy_timeout 24h;
###这个参数在使用EMQ压力测试时很有用,刚开始设备的超时时间过段,导致测试一小会儿就出现 {shutdown,connack_timeout}
proxy_pass easyd;
}
#mq连接
upstream mq{
server 10.10.10.130:61617 max_fails=6000 fail_timeout=10s;
}
server {
listen 61616;
proxy_connect_timeout 5s;
proxy_timeout 10m;
###proxy_timeout 24h;
###这个参数在使用EMQ压力测试时很有用,刚开始设备的超时时间过段,导致测试一小会儿就出现 {shutdown,connack_timeout}
proxy_pass mq;
}
# UDP转发
# 控制台插播
upstream udp_kzt {
server 10.10.10.131:30001 max_fails=6000 fail_timeout=10s;
}
server {
listen 30001 udp;
proxy_pass udp_kzt;
proxy_timeout 30s;
proxy_responses 10;
}
#短信
upstream smbcserver{
server 10.10.10.131:30000 max_fails=6000 fail_timeout=10s;
}
server {
listen 30000;
proxy_connect_timeout 5s;
proxy_timeout 10m;
###proxy_timeout 24h;
###这个参数在使用EMQ压力测试时很有用,刚开始设备的超时时间过段,导致测试一小会儿就出现 {shutdown,connack_timeout}
proxy_pass smbcserver;
}
# 回传
upstream udp_return {
server 10.10.10.130:8551 max_fails=6000 fail_timeout=10s;
}
server {
listen 8550 udp;
proxy_pass udp_return;
proxy_timeout 30s;
proxy_responses 10;
}
# 主节目
# upstream main {
# #server 10.10.10.130:5161 max_fails=6000 fail_timeout=10s;
# server 10.10.10.130:5161 ;
# }
#
# server {
# listen 5161 udp;
# proxy_pass main;
# proxy_timeout 30s;
# #proxy_responses 10;
# }
}