最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx實(shí)現(xiàn)TCP端口的偵聽(tīng)及轉(zhuǎn)發(fā)操作步驟

 更新時(shí)間:2024年11月09日 10:42:13   作者:AiFlutter  
這篇文章主要介紹了Nginx實(shí)現(xiàn)TCP端口的偵聽(tīng)及轉(zhuǎn)發(fā)的相關(guān)資料,文章介紹了如何使用Nginx進(jìn)行TCP代理(四層代理)來(lái)處理MQTT的集群需求,包括配置Nginx支持stream模塊、編寫(xiě)TCP代理配置文件以及重新加載Nginx以應(yīng)用更改,需要的朋友可以參考下

一、說(shuō)明

由于我們?cè)谑褂胢qtt時(shí),會(huì)接收大量的客戶(hù)端連接,單機(jī)的mqtt肯定是扛不住的,所以需要一個(gè)mqtt的集群來(lái)處理,這時(shí)就得有一個(gè)網(wǎng)關(guān)來(lái)負(fù)責(zé)請(qǐng)求的轉(zhuǎn)發(fā)

nginx從1.9.0版本開(kāi)始,新增了ngx_stream_core_module模塊,使nginx支持四層代理和負(fù)載均衡。 默認(rèn)編譯時(shí)該模塊未編譯進(jìn)去,需要編譯時(shí)添加 --with-stream,--with-stream_ssl_module,使其支持stream代理

在之前的版本如果想支持,需要打補(bǔ)丁,安裝模塊nginx_tcp_proxy_module。 http代理,通常就是我們說(shuō)的七層代理,工作在第七層應(yīng)用層。 而tcp代理,就是我們常說(shuō)的四層代理,工作在網(wǎng)絡(luò)層和傳輸層

http代理,通常就是我們說(shuō)的七層代理,工作在第七層應(yīng)用層
而tcp代理,就是我們常說(shuō)的四層代理,工作在網(wǎng)絡(luò)層和傳輸層

需要用到的命令

命令說(shuō)明
firewall-cmd --list-ports  

查看開(kāi)放的端口號(hào) 

firewall-cmd --zone=public --add-port=8888/tcp --permanent開(kāi)放對(duì)應(yīng)端口號(hào):8888
firewall-cmd --zone=public --remove-port=80/tcp --permanent關(guān)閉端口號(hào)
firewall-cmd --reload 重啟防火墻 
 systemctl status firewalld.service 查看防火墻狀態(tài)

二、操作步驟

2.1 查看nginx是否安裝stream

nginx -V | tr ' ' '\n'|grep stream

如果出現(xiàn)下面兩項(xiàng),說(shuō)明支持

--with-stream
--with-stream_ssl_module

2.2 如果沒(méi)有則重新安裝nginx

1. sudo yum install nginx -y
2. sudo yum -y install epel-release
3. yum -y install nginx-all-modules.noarch
4. vi nginx.conf   #頂部加一行l(wèi)oad_module /usr/lib64/nginx/modules/ngx_stream_module.so;

2.3 tcp代理(mqtt為例)

  • tcp代理與我們平常說(shuō)的網(wǎng)站反向代理不一樣,它是基于tcp協(xié)議
  • stream反向代理模塊與http和events是平級(jí)的,不要把配置寫(xiě)到http里面了

為了方便添加stream配置,我們單獨(dú)在nginx目錄下創(chuàng)建一個(gè)stream目錄,存放tcp代理配置文件

在 /etc/nginx/nginx.conf 中加入如下:

stream {
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"';
access_log  /var/log/nginx/stream.log proxy;
open_log_file_cache off;
include stream/*conf;
}

在nginx/stream下創(chuàng)建一個(gè)mqtt.conf配置文件

upstream mqtt_tcp_server{
    server ec2-52-90-93-84.compute-1.amazonaws.com:8883;
} 
server {
listen 8883; #監(jiān)聽(tīng)端口
proxy_connect_timeout 150s;
proxy_timeout 150s;
proxy_pass mqtt_tcp_server; #反向代理地址
proxy_buffer_size 3M;
tcp_nodelay on;
}

重載nginx

/usr/local/nginx/sbin/nginx -s reload

當(dāng)我們?cè)L問(wèn)nginx的8883端口時(shí),會(huì)自動(dòng)代理到目標(biāo)主機(jī)的8883端口上

總結(jié)

到此這篇關(guān)于Nginx實(shí)現(xiàn)TCP端口的偵聽(tīng)及轉(zhuǎn)發(fā)的文章就介紹到這了,更多相關(guān)Nginx TCP端口偵聽(tīng)及轉(zhuǎn)發(fā)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

安多县| 平昌县| 会昌县| 云霄县| 宁夏| 藁城市| 仙居县| 常熟市| 潍坊市| 靖安县| 安宁市| 惠水县| 津市市| 巩留县| 海盐县| 岳普湖县| 台北市| 舒兰市| 昆明市| 徐汇区| 胶州市| 沙雅县| 鄄城县| 莱州市| 康马县| 合江县| 木里| 乐陵市| 南雄市| 前郭尔| 稷山县| 彰武县| 嘉善县| 云阳县| 贵州省| 磴口县| 宣化县| 鄂州市| 白河县| 洛阳市| 长汀县|