下载链接:mqttx.app/zh ,支持windows,mac,linux
免费的公共 MQTT 服务器:broker.emqx.io
mqtt开源:www.emqx.com/zh
mqtt中文文档:mqtt.p2hp.com/
MQTT协议入门:基础知识和快速教程:www.emqx.com/zh/blog/the…
阿里云部署mqtt broker
我的服务器是ubuntu,在ubuntu上安装mqtt见链接:docs.emqx.com/zh/emqx/lat…
sudo systemctl stop emqx
mqtt启动成功后,确保外网可以访问mqtt,需要给我们的阿里云服务器配置安全组:
其中18083端口是访问mqtt控制台的,1883端口则是开放给各设备、客户端链接的
当成功配置安全组后,还需要去我们的阿里云服务器上执行如下命令,防止开启了防火墙导致端口访问不通。可以参考:# 阿里云服务器开放端口的最最最正确的方法
# 开放18083端口
firewall-cmd --zone=public --add-port=18083/tcp --permanent
# 开放1883端口
firewall-cmd --zone=public --add-port=1883/tcp --permanent
# 重新加载防火墙使开放的端口即时生效
firewall-cmd --reload
# 查看开放的公共端口列表 或者:firewall-cmd --list-all
firewall-cmd --zone=public --list-ports
如果在执行上述命令时提示:FirewallD is not running,可能时firewalld服务没有启动起来,尝试执行如下命令即可:
启动FirewallD服务命令:
systemctl start firewalld.service #开启服务
systemctl enable firewalld.service #设置开机启动
emqx客户端:http://139.196.123.173:18083/ 用户名密码:admin public
如果使用spring项目启动client去连接emqx的时候报错:代理程序不可用。可以下面的插件禁用掉试一试!
hivemq
就是上面的Broker,消息转发器,消息传递平台 HiveMQ是基于MQTT协议的消息传递平台, HiveMQ完全支持所有标准MQTT功能,并提供扩展功能
//docker方式
1.下载并运行hivemq
docker run -p 8080:8080 -p 1883:1883 hivemq/hivemq4
2.浏览器输入http://localhost:8080
用户:admin 密码:hivemq
docker如果下载速度很慢,可以配置镜像加速器:cr.console.aliyun.com/cn-shanghai…
1. 配置镜像加速器
#如果不存在的话
sudo mkdir -p /etc/docker
sudo vi /etc/docker/daemon.json
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://ustc-edu-cn.mirror.aliyuncs.com", "https://ghcr.io",
"https://mirror.baidubce.com",
"https://阿里云你自己的加速器地址"]
}
***其中 加速地址 可以访问: cr.console.aliyun.com/cn-shanghai… 点击左边的镜像中心-镜像加速器 查看。
2. 重启docker相关服务
sudo systemctl daemon-reload
sudo systemctl restart docker
配置安全组实现公网访问8080和1883端口,配置阿里云服务器防火墙重启防火墙
ubuntu docker部署emqx
# 拉取4.3版本的镜像
docker pull emqx:4.3
# 启动 docker 容器
docker run -d --name emqx-gt485 -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx:4.3
# 进入docker容器
docker exec -it --user=root 容器id bash
# 安装vim
apt-get upgrade
apt-get install vim
或者
apt-get update
apt-get install -y vim
ubuntu mysql卸载
要在Ubuntu系统上卸载MySQL,你可以使用以下命令:
- 首先,通过以下命令停止MySQL服务:
sudo systemctl stop mysql
- 然后,通过以下命令卸载MySQL服务器:
sudo apt-get remove --purge mysql-server mysql-client mysql-common
- 清除残留的配置和数据文件:
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt-get autoremove
sudo apt-get autoclean
ubuntu mysql安装
可以参考:blog.csdn.net/qq_19253847…
进入opt:cd /opt/
更新apt仓库信息,输入下列命令:apt update
安装mysql服务:apt install -y mysql-server
查看mysql服务状态::systemctl status mysql,提示:
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2024-07-16 23:44:12 CST; 35s ago
Main PID: 10364 (mysqld)
Status: "Server is operational"
Tasks: 38 (limit: 2194)
Memory: 361.9M
CGroup: /system.slice/mysql.service
└─10364 /usr/sbin/mysqld
Jul 16 23:44:11 iZuf63y0r6z2tc37u0q5l8Z systemd[1]: Starting MySQL Community Server...
Jul 16 23:44:12 iZuf63y0r6z2tc37u0q5l8Z systemd[1]: Started MySQL Community Server.
为root用户设置密码
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'z04c09f11';
LUSH PRIVILEGES;
exit;
对mysql进行初始化
执行下列命令,此命令是mysql安装后自带的配置程序
mysql_secure_installation,输入上面的密码
Securing the MySQL server deployment.
Enter password for user root:
Error: Access denied for user 'root'@'localhost' (using password: YES)
root@iZuf63y0r6z2tc37u0q5l8Z:/opt# mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No:
Using existing password for root.
Change the password for root ? ((Press y|Y for Yes, any other key for No) :
... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) :
... skipping.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) :
... skipping.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.
All done!
是否开启密码验证插件,如果需要增强密码安全性,输入y并回车,不需要增强直接回车即可
是否更改root密码,需要输入y回车,不需要直接回车,因为刚才该过了这里直接回车
是否移除匿名用户,移除输入y回车,不移除直接回车,这里设置移除
是否禁止root用户远程登陆,禁止输入y回车,不禁止直接回车,这里选择不禁止
是否移除自带的测试数据库,移除输入y回车,不移除直接回车,这里选择不移除
是否刷新权限,输入y刷新,直接回车不刷新,这里选择y刷新
重新进入mysql use mysql; 更新root访问权限为 ‘%’ 为所有主机可访问 update user SET Host = '%' where User = 'root';
建新的test用户,确认密码为Ttest123,允许在任意主机登录
create user test@"%" identified by 'Ttest123';
赋与zabbix用户在任意主机登陆所有数据库及更改权限
grant all privileges on . to 'test'@'%' with grant option;
set global log_bin_trust_function_creators = 1;
刷新权限
flush privileges;
允许远程连接访问mysql
改/etc/mysql/mysql.conf.d/mysqld.cnf文件,有的修改/etc/my.cnf具体根据自身环境来
vim /etc/mysql/mysql.conf.d/mysqld.cnf,原始文件如下:
修改 bind-address = 0.0.0.0 (远程连接访问)
重启mysql
sudo systemctl restart mysql
阿里云配置安全组,可以公网远程访问mysql
开放3306端口
firewall-cmd --zone=public --add-port=1883/tcp --permanent
# 重新加载防火墙使开放的端口即时生效
firewall-cmd --reload
使用navicat远程连接mysql
ubuntu jdk8安装
更新包列表:sudo apt update 安装OpenJDK 8:sudo apt install openjdk-8-jdk 验证安装是否成功:java -version
设置JAVA_HOME环境变量
找到JDK 8的安装路:update-alternatives --list java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
然后,编辑~/.bashrc
或~/.profile
文件,在文件末尾添加JAVA_HOME变量和更新PATH变量:
vim ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
source ~/.bashrc
阿里云服务器安装宝塔
ecs服务器实例右下角显示如下,按照提示按照即可
最后在任务执行管理中找到输出日志,里面有访问宝塔的公网地址
通过日志里提示的公网地址、用户名和密码登录宝塔,如果提示用户名密码一直输入错误,可以去我们的服务器执行'bt 14'查看真正的用户名和密码。如果看不到密码,可以执行bt 5修改密码
通过宝塔安装的redis的配置文件位置:/www/server/redis/redis.conf
- 查找配置文件中的
#requirepass
项。 - 设置密码:将
#requirepass
项的注释去掉,并在其后面添加一个密码。例如:requirepass YourPassword
,将YourPassword
替换为你想要设置的密码
requirepass xx123456
允许远程访问 bind 127.0.0.1 改成 bind 0.0.0.0
启动Redis服务,使密码配置生效: sudo systemctl restart redis
如果您的服务器运行着防火墙,确保允许外部访问Redis监听的端口(默认为6379)。
例如,如果您使用的是iptables
,可以添加以下规则来允许远程连接:
sudo iptables -A INPUT -p tcp --dport 6379 -j ACCEPT
# 开放6379端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
# 重新加载防火墙使开放的端口即时生效
firewall-cmd --reload
使用命令行工具连接到Redis,并验证密码是否生效。可以使用以下命令连接到Redis:
redis-cli
redis-cli -h localhost -p 6379
redis-cli -h localhost -p 6379 -a xx123456
ubuntu rabbitmq安装
建立一个文件夹用于存放mq产生的数据:
mkdir /data/rabbitmq -p
基于docker安装mq(直接拉取镜像加挂载配置文件目录)
方式1:用户名密码都是guest:
docker run -d --hostname rabbit-svr --name rabbit -p 5672:5672 -p 15672:15672 -p 25672:25672 -v /data/rabbitmq:/var/lib/rabbitmq rabbitmq:management
方式2:设置新用户名和密码:
docker run -d --hostname rabbit-svr --name rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=xx1811 -p 5672:5672 -p 15672:15672 -p 25672:25672 -v /data/rabbitmq:/var/lib/rabbitmq rabbitmq:management
命令解释:docker拉取mq的镜像以及对mq的端口进行映射,将需要用的端口从容器中暴露出来。如5672,一般都用这个,这是外部调用的端口。访问ui界面的端口是15672,25672用于部署集群,如果不需要进行集群部署可以暂不设置。
修改密码
docker exec -it rabbitmq容器id bash
rabbitmqctl change_password guest Tx132.7
检查myq状态
docker ps | grep rabbit
- -d:后台运行容器。
- --name:指定容器名。
- -p:指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号)。
- -v:映射目录或文件。
- --hostname:主机名(RabbitMQ的一个重要注意事项是它根据所谓的“节点名称”存储数据,默认为主机名)。
- -e:指定环境变量(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)。
●启动rabbitmq_management脚本命令如下:
docker exec -it rabbit rabbitmq-plugins enable rabbitmq_management
开启防火墙15672端口
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --reload
--查看是否开通访问权限
firewall-cmd --permanent --zone=public --query-port=15672/tcp
firewall-cmd --permanent --zone=public --query-port=5672/tcp
登录rabbitmq控制台
139.196.23.173:15672
guest用户进控制台建立新用户分配权限
创建完用户后,点击用户名lamptest可以给该用户分配更具体的权限(点了没反应直接刷新页面,我这里有点卡)
Dockerfile部署springboot应用
mkdir /home/lamp 上传springboot应用jar包到此目录下 在此目录下创建Dockerfile文件
基于Dockerfile构建镜像
#docker build –f (dockerfile文件路径) –t 镜像名称:版本 .
docker build -f ./Dockerfile -t app .
基于该镜像创建容器
#docker run -id -p 主机端口号:容器端口号 容器名字(app)
docker run -id -p 7777:7777 app
别忘了给7777端口加到ecs安全组中
配置防火墙
开放7777端口
firewall-cmd --zone=public --add-port=7777/tcp --permanent
# 重新加载防火墙使开放的端口即时生效
firewall-cmd --reload
idea利用Docker插件部署springboot应用
配置docker远程连接端口
vi /usr/lib/systemd/system/docker.service
找到 ExecStart,在最后面添加 -H tcp://0.0.0.0:2375,如下图所示
重启docker
systemctl daemon-reload
systemctl restart docker
# 查看2375端口是否开启成功
netstat -nltp | grep 2375
开放端口
firewall-cmd --zone=public --add-port=2375/tcp --permanent
# 重新加载防火墙使开放的端口即时生效
firewall-cmd --reload
阿里云配置安全组
idea安装Docker插件后重启idea
配置Docker的远程连接地址
yum阿里镜像源
为了使用阿里云的YUM镜像源,你需要执行以下步骤:
- 备份你当前的YUM仓库配置。
- 替换现有的CentOS-Base.repo文件。
- 下载阿里云的CentOS仓库配置文件。
- 清理YUM缓存并生成新的缓存。
以下是具体的命令:
-
备份当前的CentOS-Base.repo sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
-
下载阿里云的CentOS仓库配置文件 sudo curl -o /etc/yum.repos.d/CentOS-Base.repo mirrors.aliyun.com/repo/Centos…
-
清理YUM缓存 sudo yum clean all
-
生成新的缓存 sudo yum makecache
部署
安装宝塔
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_lts.sh && bash install.sh ed8484bec
centos离线安装docker-compose
可以参考:www.runoob.com/docker/dock… 如果不能在线安装,可以参考以下这种方式:
docker-compose离线包下载路径: github.com/docker/comp…
我选择的版本是v2.19.1
下载好后上传到我们的linux服务器,依次执行以下命令即可:
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose -v
centos安装tdengine
docker安装tdengine-server
tdengine.yml文件如下:
version: '3.2'
services:
tdengine:
image: tdengine/tdengine:2.6.0.8
container_name: tdengine
hostname: node1
ports:
- 6030-6041:6030-6041/tcp
- 6030-6041:6030-6041/udp
volumes:
- /home/tdengine/data:/var/lib/taos
- /home/tdengine/log:/var/log/taos
restart: always
tty: true
networks:
my_network:
external: true
启动tdengine-server
docker-compose -f tdengine.yml up -d
安装tdengine-client
下载链接:docs.taosdata.com/releases/td…
下载好TDengine-client-2.6.0.8-Linux-x64.tar.gz
,上传到我们的服务器上使用tar -zxvf TDengine-client-2.6.0.8-Linux-x64.tar.gz
解压到本地
修改本机的hostname
vim /etc/hostname
使修改的生效:
sudo hostname -F /etc/hostname
修改host映射
vim /etc/hosts
172.16.246.18是本机ip,td1是hostname
修改 /etc/taos/taos.cfg
firewall-cmd --zone=public --add-port=6030/tcp --permanent
firewall-cmd --zone=public --add-port=6030/udp --permanent
firewall-cmd --reload