有什么网站可以做微信支付宝支付宝/seo如何优化的
记录一下在建立mqtt调试环境上遇到的问题及对策。
我的PC环境为,win10为办公环境,Vmware虚拟机安装ubuntu18,虚拟机主要用来进行代码编译,建立mosquitto server测试环境。
1. ubuntu 安装mosquitto
安装mosquitto网上很多教程,这里简单列举一下:
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
这一步我遇到了gpg key timeout的错误,猜测应该是外网连线的问题,毕竟大陆现在访问github不太稳定,加上我已经将更新源设置为华为的镜像地址,所以跳过这步。
sudo apt-get update
sudo apt-get install mosquitto //安装mosquitto broker
sudo apt-get install mosquitto-clients //安装mosquitto client
在/etc/mosquitto/conf.d
目录下,添加配置文件myconfig.conf
配置文件:
sudo gedit /etc/mosquitto/conf.d/myconfig.conf
粘入下面这些配置:
#添加监听端口(很重要,否则只能本机访问)
listener 1883
#-------------------------------------------
# 关闭匿名访问,客户端必须使用用户名
allow_anonymous false#指定 用户名-密码 文件
password_file /etc/mosquitto/pwfile.txt
#--------------------------------------------
添加账户及密码
sudo mosquitto_passwd -c /etc/mosquitto/pwfile.txt 用户名
回车后连续输入2次用户密码即可。
启动mosquitto
可以有以下两种方式,第一种是使用默认配置 /etc/mosquitto/mosquitto.conf,启动命令如下:
sudo service mosquitto start
另一种是指定使用哪一个配置文件,启动命令如下:
sudo mosquitto -c /etc/mosquitto/conf.d/myconfig.conf -v
查看mosquitto运行状态
sudo service mosquitto status
运行本机local测试:
订阅主题(新开一个终端1)
mosquitto_sub -h localhost -t "lai001/#" -u 用户名 -P 密码 -i “client1”
发布主题(新开一个终端2)
mosquitto_pub -h localhost -t "lai001/testTopic" -u 用户名 -P 密码 -m "Hello MQTT from mosquitto-clients"
因为我的ubuntu版本是18.0x的,这个版本上支持的最新的mosquitto版本为v1.4.5,支持到MQTT 3.1。
到这里虚拟机上的mosquitto server安装完毕了,此时遇到一个问题,本机localhost测试没有问题,可以正常pub/sub,但是外网的PC无法connect上ubuntu的mosquitto server。进一步测试发现,我的ubuntu虚拟机能够ping通外网的PC,但是外网的PC无法ping通虚拟机的IP。
这个问题的原因是因为主机WIN10的Vmware的网络连接设定问题导致:
我原来设定为NAT模式下的固定IP(方便win10下映射网络驱动盘),但实际发现NAT模式下,虚拟机的网络功能一切正常,就是没办法被其他设备(除了win10主机)ping通。
参考网上的教程将Vmware的网络连接设定为桥接模式后,修复了这个问题。
有几个地方记录一下:
需要将Vmware的权限设定为管理员权限启动,要不然看不到VMnet0,无法设定为桥接模式。
引用其他博主桥接模式下的win10主机及Vmware虚拟机与Ubuntu设定如下:
桥接模式下的网络设置
2.1 真实主机设置
使用桥接模式,首先要设置用于桥接的真实主机的网卡(一般是连接外网的网卡)。以win10为例,点击右下角网络和Internet设置-更改适配器选项,找到连接外网的网卡(我的就是下图中2位置啦),右键-属性,在WLAN属性中选中VMware Bridge Protocol,然后确定即可。
2.2 VMware虚拟交换机设置
设置好真实主机配置后,接下来需要设置VMware虚拟交换机的网络设置。
如上图,点击VMware上编辑-虚拟网络编辑器进入网络设置页面(下图)。你的界面有可能看不到VMnet0选项,按照上述方法解决。然后按下图,依次选择2处桥接模式,桥接位置3处选择你的真实主机连接外网的那块网卡,点击4处确定。
虚拟机设置
接下来就需要设置VMware上的虚拟主机设置,如下图所示,在虚拟机关闭的情况下,依次点击编辑虚拟机设置-网络适配器-启动时连接-桥接模式。点击右上角关闭按钮,设置完成。
接下来,为了方便我们在win10下开发,将ubuntu设定为固定IP的方式比较友好。
在ubuntu中设定网络,wired Settings。
使用固定IP上网,则需要选择手动模式,此时需要设置IP地址,子网掩码,默认网关等。先在真实主机(假定为windows系统)上使用ipconfig命令查看下真实主机的IP地址,子网掩码,默认网关等。下面3、4处子网掩码和网关填写与真实主机相同的参数,IP地址保证与真实主机的IP地址在同一网段即可。DNS可以选择自动或者手动,手动模式下也保持和真实主机的设置一致即可。
ubuntu系统文件设置
为了保证ubuntu虚拟机后续重新开机后保持这个固定IP,最后咱还需要设置一下系统文件。
首先,在虚拟机终端中,输入命令ifconfig,可以找到我们设置的希望用于和真实主机及外网通信的网卡名称,如下图,我的网卡名称是ens33,对应IP地址已经是我前面设置的静态IP了;
修改/etc/netplan/01-network-manager-all.yaml文件:
sudo gedit /etc/netplan/01-network-manager-all.yaml
编辑为如下内容,将固定IP,gateway,NDS等信息填入:
network:
version: 2
renderer: NetworkManager
ethernets:
ens33: #网卡名,以ubuntu操作系统的网卡名称为准
dhcp4: no #ipv4关闭dhcp,用static模式
dhcp6: no #ip6关闭dhcp
addresses:
- 192.168.31.130/24 #本机IP地址
gateway4: 192.168.31.1 #vmware网关的的IP地址
nameservers: #DNS服务器
addresses: [114.114.114.114, 8.8.8.8, 1.1.1.1]
修改配置后先测试一下:
sudo netplan try
如果测试通过,再应用配置:
sudo netplan apply
重启网络服务:
sudo service network-manager restart
至此,网络环境已经全部设定好。重启Vmware与ubuntu后,分别测试 虚拟机与主机,虚拟机与外网机器互ping(同网段下),都可以正常ping通。
此时,在ubuntu启动mosquitto broker/mosquitto_pub/mosquitto_sub,在另外一台PC上使用MQTT tool,我使用的是MQTT explorer,连接ubuntu上的mosquitto broker,测试pub与sub主题,ubuntu server上的mosquitto_sub可以收到MQTT explorer pub的数据,MQTT explorer可以收到ubuntu server上的mosquitto_pub的数据,测试环境建立完成。
补充一下,桥接模式需要win10主机一定要有网络连接,才能远程访问虚拟机,这样当没有网络环境时,开发会很麻烦,所以在没有网络连接的情况下,需要使用Vmware的NAT模式来启动ubuntu,这样WIN10主机可以远程访问虚拟机了。
记录一下NAT模式的设定:
1.WIN10主机先设定“VMware Virtual Ethernet Adapter for VMnet8” 这张虚拟网卡的IP,将其设定为与ubuntu IP(192.168.31.130)为同一网段,我这里设置为 192.168.31.1,如下:
控制面板->网络和 Internet->网络和共享中心->更改适配器设置
VMware Virtual Ethernet Adapter for VMnet8 ->鼠标右键->属性
Internet协议版本4(TCP/IPv4)->鼠标右键->属性
2.Vmware设定如下:
设定“虚拟网络编辑器” -> VMnet8子网地址(与192.168.3.1同一网段)
编辑虚拟机设置 -> 选择NAT模式
启动虚拟机,此时WIN10主机与ubuntu在同一网段,就可以通过VMnet8这张虚拟网卡远程访问ubuntu虚拟机了。
相关文章:

win10+Vmware+ubuntu18 mosquitto调试记录
记录一下在建立mqtt调试环境上遇到的问题及对策。 我的PC环境为,win10为办公环境,Vmware虚拟机安装ubuntu18,虚拟机主要用来进行代码编译,建立mosquitto server测试环境。 1. ubuntu 安装mosquitto 安装mosquitto网上很多教程&…...

Java EE 突击 9 - Spring Boot 日志文件
Spring Boot 日志文件 学习目标一 . 日志有什么用1.1 日志格式说明 二 . 自定义日志打印2.1 得到日志对象2.2 使用日志对象提供的方法 , 输出自定义的日志内容2.3 日志的级别 三 . 日志持久化3.1 在配置文件里面设置日志名称3.2 设置日志的保存目录 四 . 日志级别的设置五 . 简…...

篇十六:命令模式:封装请求
篇十六:"命令模式:封装请求" 开始本篇文章之前先推荐一个好用的学习工具,AIRIght,借助于AI助手工具,学习事半功倍。欢迎访问:http://airight.fun/。 另外有2本不错的关于设计模式的资料&#x…...

Android 系统框架
启动流程 init 进程启动过程 Android系统启动流程 Zygote启动流程及源码分析 APP启动流程 init进程是Android用户空间第一个进程,主要做以下3件事情: 创建和挂载启动所需的文件目录。初始化和启动关键服务,守护关键服务。解析init.rc配…...

【Hystrix技术指南】(3)超时机制的原理和实现
[每日一句] 也许你度过了很糟糕的一天,但这并不代表你会因此度过糟糕的一生。 [背景介绍] 分布式系统的规模和复杂度不断增加,随着而来的是对分布式系统可用性的要求越来越高。在各种高可用设计模式中,【熔断、隔离、降级、限流】是经常被使…...

MySQL: Failed to Connect to MySQL at XXXX:3306 with user root
客户端连接MySQL服务器,报错: 解决方案: 没有让root用户远程登录,需要设置; 进入MySQL服务器,修改一下 # mysql -h localhost -uroot -P3306 -p12345678 mysql: [Warning] Using a password on the comm…...

《大型网站技术架构设计》第二篇 架构-性能
不同视角下的网站性能 1、用户 从用户角度,网站性能就是用户在浏览器上直观感受到的网站响应速度快还是慢。用户感受到的时间。 2、开发人员 开发人员关注的主要是应用程序本身及其相关子系统的性能,包括响应延迟、系统吞吐量、并发处理能力、系统稳定…...

谷歌推出AI模型机器人RT2 将文本和图像输出为机器人动作
去年年底,ChatGPT火遍全球,全世界都见识了大语言模型的强大力量。人们对大模型不再陌生,开始使用基于大模型的应用绘画、作图、搜索资料、设计剧情等,而妙用不止于此。谷歌推出了Robotics Transformer 2(RT2),这是一个…...

常见的服务器安全管理漏洞
常见的服务器安全管理漏洞 企业信息化技术的应用,以不可逆转。随着文件服务器、ERP管理软件等等在企业中生根发芽,应用服务器也逐渐在企业中普及起来。以前在企业中有一台应用服务器已经是了不起的事情,现在有两台、三台的,也不为…...

JavaScript高级:探索作用域链的神秘面纱
在 JavaScript 的编程世界中,作用域是一种控制变量可访问性和生命周期的机制。而作用域链则是闭包的关键所在,它使得函数在创建时捕获并保存了外部作用域的变量,为 JavaScript 增添了更多的魔力。本文将深入探讨作用域链的概念和作用…...

mysql数据库如何转移到oracle
mysql数据库转移到oracle 在研发过程中,可能会用到将表数据库中的表结构及数据迁移到另外一种数据库中, 比如说从mysql中迁移到oracle中, 常用的方法有好些,如下 1、使用powerdesigner,先连接mysql然后生成mysql的p…...

nnU-Net 终极指南
一、说明 了解最先进的nnU-Net以及如何将其应用于您自己的数据集所需的一切。使用nnU-Net,这是语义图像分割中非常强大的基线。在本指南中,您将: 对nnU-Net的主要贡献进行简要概述。了解如何将 nnU-Net 应用于您自己的数据集。 但是ÿ…...

ubuntu 安装 python
ubuntu 安装 python 初环境与设备查询是否安装安装python 本篇文章将介绍ubuntu 安装 python 初 希望能写一些简单的教程和案例分享给需要的人 环境与设备 系统:ubuntu 查询是否安装 因为系统也许会自带一个python,所以验证一下,如果自…...

【腾讯云 Cloud studio 实战训练营】云端 IDE 构建移动端H5
🐱 个人主页:不叫猫先生,公众号:前端舵手 🙋♂️ 作者简介:2022年度博客之星前端领域TOP 2,前端领域优质作者、阿里云专家博主,专注于前端各领域技术,共同学习共同进步…...

Kubernetes 之 Kubeadm 搭建
Kubeadm 搭建 一、搭建准备1.1 环境准备1.2 所有节点安装docker1.3 所有主机安装 cri-dockerd1.4 所有节点安装kubeadm,kubelet和kubectl1.5 部署K8S集群1.6 设定kubectl1.7 部署 Dashboard 一、搭建准备 master(2C/4G,cpu核心数要求大于2&a…...

Qt应用开发(基础篇)——堆栈窗口 QStackedWidget
一、前言 QStackedWidget继承于QFrame,QFrame继承于QWidget,是Qt常用的堆栈窗口部件。 框架类QFrame介绍 QStackedWidget堆栈窗口,根据下标切换,一次显示一个小部件,常用于应用界面切换、图片轮询播放等场景。 二、QSt…...

浅谈测试开发岗位
一、测试开发的概念与需求 测试开发,通常也被称为自动化测试,是一个涵盖了从测试设计、开发、执行和结果分析等一系列活动的职位。在软件开发的生命周期中,测试开发起着至关重要的作用,其主要目标是确保软件的质量和性能达到预期…...

典型移动APP安全风险提醒
研究背景 随着互联网和移动设备的发展,手机已成为人人都拥有的设备,各式各样的App更是丰富了人们的生活:从社交到出行、从网购到外卖,从办公到娱乐等,App已成为大众生活必需品。然而,App的流行使人们对App…...

多平台发布文章-项目总结
做个最近的AIGC内容创作技术要点的总结吧😼 流程图 时序图...

什么是IoC?什么是Spring IoC?什么是DI?
首先说明 IoC 是一种思想,IoC的全称是Inversion of Control,翻译成中文叫做“控制反转” 用人话来说,IoC的思想就是将一个对象对另一个对象的控制权交出去(不必关心交给谁),从而让对象之间的依赖关系降低&…...

分布式任务调度平台XXL-JOB学习笔记-helloworld运行
环境:win10 eclipse java17 mysql8.0.17 xxl-job 2.4 源码:https://github.com/xuxueli/xxl-job/ 导入时按Existing Maven Projects导入,先导入xxl-job-admin(管理平台)和xxl-job-executor-sample-springboot&#x…...

维护工程师提升设备管理水平的5个技巧
维护在工业工厂中扮演着至关重要的角色,而在这一关键领域,维护工程师发挥着关键作用。无论是混合还是离散自动化产线,设备的正常运行和保养对于确保生产的持续性至关重要。为了实现高效、成功的维护,维护工程师需要采取一系列方法…...

解码大众全新数字高尔夫8汽车CAN FD行驶功能电气架构
据在大众原厂的伙伴介绍,全新数字高尔夫8将在11月上市销售,目前高尔夫8在行驶功能电气架构上采用的CAN FD,在多媒体这一块采用的以太网,后续估计大部分类似同样MQBEvo平台的车型均会复制升级过来,那么,未来…...

什么是DDL、MDL?
DDL和MDL是与数据库相关的术语,它们有一些不同的含义。 DDL(Data Definition Language,数据定义语言): DDL用于定义和管理数据库中的对象,如表、索引、视图等。它包含用于创建、修改、删除和管理数据库对象…...

【sonar】安装sonarQube免费社区版9.9【Linux】【docker】
文章目录 ⛺sonarQube 镜像容器⛺Linux 安装镜像🍁出现 Permission denied的异常🍁安装sonarQube 中文包🍁重启服务 ⛺代码上传到sonarQube扫描🍁java语言配置🍁配置 JS TS Php Go Python⛏️出现异常sonar-scanner.ba…...

MySQL基本语法总结
创建数据库 create database 数据库名; -- 字符集要看mysql 版本, 5.7 Latin, 8.0 utf8 create database 数据库名 character set ‘utf8’;-- 指定数据库的字符集 create database IF NOT EXISTS 数据库名 character se…...

锐捷VSU技术理论与实验
目录 VSU涉及的相关基础概念 VSU的2种工作模式 VSU的3种设备角色 VSU的4种设备状态 VSU的分裂与合并 VSU建立过程 双主检测 VSU报文转发原理 VSU命令配置 配置VSU 配置双主检测 VSU涉及的相关基础概念 域编号(Domain ID) Domain ID是VSU的标…...

深入探索Linux文件链接技术:ln命令的妙用
当谈及 Linux 系统中的文件管理和链接技术,ln 命令是一个不可或缺的工具。ln 命令用于创建硬链接和软链接,它在 Linux 文件系统中发挥着重要作用,为用户提供了更大的灵活性和组织能力。在本文中,我们将深入探讨 ln 命令是什么&…...

electron项目开发环境搭建
由于最近需要做一款跨平台的桌面应用,所以选择使用electron来作为开发的框架,下面说一下如何搭建一个简单的electron项目: 一、准备工作 安装git:下载git | 官网 安装node:下载 | Node.js 中文网 安装npm/cnpm:npm …...

Spring 知识点
Spring 1.1 Spring 简介 1.1.1 Spring 概念 Spring是一个轻量级Java开发框架,最早有Rod Johnson创建为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题Spring最根本的使命是解决企业级应用开发的复杂性,即简化Java开发。使现有的技术更加容易使…...