1. 程式人生 > >ubuntu環境mosquitto安裝及測試最大連線數

ubuntu環境mosquitto安裝及測試最大連線數

ubuntu環境mosquitto安裝及測試最大連線數
#!/bin/bash
c=1 -d
while [ $c -le 5000 ]
do
mosquitto_sub -d -t hexiang -k 900 &
 (( c++ ))
done
檢視連線數
netstat -na | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
 netstat -na|grep ESTAB|grep 1883|wc -l
檢視cpu 佔用高的執行緒
ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu
結束程序及所有連線
kill -9 `ps -ef|grep mosquitto|awk '{print $2}'`
#(max processes)
ulimit -u 12000
#(max files)
ulimit -n 12000
windows dos 命令檢視 連線數
netstat -an|find ":1883" |find  "ESTABLISHED" /c

#####訂閱遠端主機
mosquitto_sub -h 192.168.11.16 -t hexiang

mosquitto安裝錯誤處理

mosquitto: error while loading shared libraries: libwebsockets.so.4.0.0: cannot open shared object file: No such file or directory

sudo ln -s /usr/local/lib64/libwebsockets.so.4.0.0 /usr/lib/libwebsockets.so.4.0.0
mosquitto 指令碼安裝 for ubuntu
#!/bin/sh
#print hello world in the console window
echo -e "開始安裝-----------------------------------------------------------"
echo -e "author:hexiang"
echo -e "name:dz.hexiang"
echo -e "mail:[email protected]
" echo -e "初始設定請稍等..." sleep 3s echo -e "開始安裝wget下載工具" yum -y install wget echo -e "開始下載即時通訊伺服器原始碼..." cd /home wget http://mosquitto.org/files/source/mosquitto-1.4.9.tar.gz echo -e "開始解壓即時通訊伺服器原始碼..." tar -xzvf mosquitto-1.4.9.tar.gz cd mosquitto-1.4.9; echo -e "開始進行配置..." #WITH_SRV ,WITH_UUID,WITH_WEBSOCKETS sed -i -E "s/^#WITH_SRV:=.*$/WITH_SRV:=yes/g" config.mk sed -i -E "s/^WITH_SRV:=.*$/WITH_SRV:=yes/g" config.mk sed -i -E "s/^#WITH_UUID:=.*$/WITH_UUID:=yes/g" config.mk sed -i -E "s/^WITH_UUID:=.*$/WITH_UUID:=yes/g" config.mk sed -i -E "s/^#WITH_WEBSOCKETS:=.*$/WITH_WEBSOCKETS:=yes/g" config.mk sed -i -E "s/^WITH_WEBSOCKETS:=.*$/WITH_WEBSOCKETS:=yes/g" config.mk echo -e "即時通訊配置成功開始安裝相關支援庫..." cd /home wget http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz tar xvf c-ares-1.10.0.tar.gz cd c-ares-1.10.0 ./configure make&make install apt install libuuid-devel -y apt install cmake -y apt install uuid-dev -y cd /home; wget https://github.com/warmcat/libwebsockets/archive/v1.3-chrome37-firefox30.tar.gz tar zxvf v1.3-chrome37-firefox30.tar.gz cd libwebsockets-1.3-chrome37-firefox30; mkdir build; cd build; cmake .. -DLIB_SUFFIX=64 make install echo -e "即時通訊開始編譯安裝..." cd /home/mosquitto-1.4.9 make&make install mv /etc/mosquitto/mosquitto.conf.example /etc/mosquitto/mosquitto.conf echo -e "配置相關資訊..." sed -i -E "s/^#autosave_interval 1800$/autosave_interval 1800/g" /etc/mosquitto/mosquitto.conf sed -i -E "s/^#persistence false$/persistence true/g" /etc/mosquitto/mosquitto.conf sed -i -E "s/^#persistence_file mosquitto.db$/persistence_file mosquitto.db/g" /etc/mosquitto/mosquitto.conf sed -i -E "s/^autosave_interval 1800$/#autosave_interval 1800/g" /etc/mosquitto/mosquitto.conf sed -i -E "s/^persistence true$/#persistence true/g" /etc/mosquitto/mosquitto.conf sed -i -E "s/^persistence_file mosquitto.db$/#persistence_file mosquitto.db/g" /etc/mosquitto/mosquitto.conf sed -i -E "s/^persistence_location \/var\/mosquitto\/$/#persistence_location \/var\/mosquitto\//g" /etc/mosquitto/mosquitto.conf sed -i -E "s/^listener 1883$/#listener 1883/g" /etc/mosquitto/mosquitto.conf sed -i -E "s/^listener 8888$/#listener 8888/g" /etc/mosquitto/mosquitto.conf sed -i -E "s/^protocol websockets$/#protocol websockets/g" /etc/mosquitto/mosquitto.conf sed -i -E "s/^user root$/#user root/g" /etc/mosquitto/mosquitto.conf sed -i -E "s/^allow_anonymous true$/#allow_anonymous true/g" /etc/mosquitto/mosquitto.conf sed -i -E '$ a autosave_interval 1800' /etc/mosquitto/mosquitto.conf sed -i -E "$ a persistence true" /etc/mosquitto/mosquitto.conf sed -i -E '$ a persistence_file mosquitto.db' /etc/mosquitto/mosquitto.conf sed -i -E '$ a persistence_location /var/mosquitto/' /etc/mosquitto/mosquitto.conf sed -i -E '$ a listener 1883' /etc/mosquitto/mosquitto.conf sed -i -E '$ a listener 8888' /etc/mosquitto/mosquitto.conf sed -i -E '$ a protocol websockets' /etc/mosquitto/mosquitto.conf sed -i -E '$ a user root' /etc/mosquitto/mosquitto.conf sed -i -E '$ a allow_anonymous true' /etc/mosquitto/mosquitto.conf #sed -i -E '$ a --------------' /etc/mosquitto/mosquitto.conf touch /etc/ld.so.conf.d/liblocal.conf #新增下面兩行配置 echo -e '/usr/local/lib64\n/usr/local/lib'>/etc/ld.so.conf.d/liblocal.conf #重新整理 ldconfig echo -e "啟動即時通訊服務..." cd /usr/local/sbin mosquitto -c /etc/mosquitto/mosquitto.conf -d echo -e "-----------------------------------------------------------" echo -e "配置防火牆..." #安裝iptables-services yum install iptables-services -y #啟動firewalld服務 echo -e "設定開機啟動防火牆..." systemctl enable firewalld.service echo -e "啟動防火牆..." systemctl start firewalld.service echo -e "設定開機啟動防火牆規則..." systemctl enable iptables.service echo -e "啟動防火牆規則..." systemctl start iptables.service #檢視iptables現有規則 iptables -L -n #先允許所有,不然有可能會杯具 iptables -P INPUT ACCEPT #清空所有預設規則 iptables -F #清空所有自定義規則 iptables -X #所有計數器歸0 iptables -Z echo -e "開啟各種服務埠..." #開放1888 埠 iptables -A INPUT -p tcp --dport 1888 -j ACCEPT #開放8888埠 iptables -A INPUT -p tcp --dport 1883 -j ACCEPT iptables -A INPUT -p tcp --dport 8888 -j ACCEPT #開放8888埠 iptables -A INPUT -p udp --dport 5060 -j ACCEPT #開放8888埠 iptables -A INPUT -p tcp --dport 8087 -j ACCEPT iptables -A INPUT -p tcp --dport 8088 -j ACCEPT iptables -A INPUT -p tcp --dport 8086 -j ACCEPT iptables -A INPUT -p tcp --dport 8085 -j ACCEPT iptables -A INPUT -p tcp --dport 1935 -j ACCEPT #儲存上述規則 service iptables save #檢視狀態 systemctl restart iptables.service echo -e "下面設定開機自動啟動各種服務..." #echo -e 'mosquitto -c /etc/mosquitto/mosquitto.conf -d\ncd /usr/local/sbin/ ; ./opensipsctl start\nsystemctl restart WowzaStreamingEngine.service\nsystemctl restart iptables.service'>/etc/rc.d/rc.local #2.加入以下命令 chmod +x /etc/rc.d/rc.local sed -i -E '$ a mosquitto -c \/etc\/mosquitto\/mosquitto.conf -d' /etc/rc.d/rc.local sed -i -E '$ a cd \/usr\/local\/sbin\/ ; .\/opensipsctl start' /etc/rc.d/rc.local sed -i -E '$ a systemctl restart iptables.service' /etc/rc.d/rc.local sed -i -E '$ a systemctl restart WowzaStreamingEngine.service' /etc/rc.d/rc.local