一、首先需在nginx.conf配置添加stream模块
stream {
# 为了让这个配置文件简单一些,将配置stream放入到/usr/local/nginx/conf/conf.d/tcp,并以.conf做后缀名。
# 需要为每个端口创建一个.conf做后缀名的配置文件
include /usr/local/nginx/conf/conf.d/tcp/*.conf;
#配置日志格式
log_format proxy '$remote_addr [$time_local] '
'$protocol $status $bytes_sent $bytes_received '
'$session_time -> $upstream_addr '
'$upstream_bytes_sent $upstream_bytes_received $upstream_connect_time';
#配置生成tcp或udp日志路径
access_log /usr/local/nginx/logs/access.log proxy;
}
二、在/usr/local/nginx/conf/conf.d/tcp/ 路径下编辑*.conf
cat 8888.conf
upstream fastdfs{
server 192.168.137.10:8888;
server 192.168.137.11:8888;
}
server {
listen 8888; #不添加默认为tcp协议,表示监听8888端口
proxy_pass fastdfs;
proxy_connect_timeout 10;
proxy_timeout 1800;
} #server
server {
listen 8888 udp; #指定udp协议,表示监听8888端口
proxy_pass fastdfs;
proxy_timeout 10s;
proxy_responses 10;
error_log logs/udp-error.log;
}
三、/usr/local/nginx/sbin/nginx -t 检查配置,reload加载/usr/local/nginx/sbin/nginx -s reload后查看监听端口状态是否正常。
[root@k8s-node1 sbin]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@k8s-node1 sbin]#
[root@k8s-node1 sbin]#
[root@k8s-node1 sbin]#
[root@k8s-node1 sbin]# /usr/local/nginx/sbin/nginx -s reload
[root@k8s-node1 sbin]# netstat -apn | grep 8888
tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN 917/nginx: master p
udp 0 0 0.0.0.0:8888 0.0.0.0:* 917/nginx: master p
[root@k8s-node1 sbin]#