简述:Linux服务器如今已经成熟,由于在云平台和新兴技术方面的突出表现,开始受到越来越多组织的欢迎。当前BAT的云服务器平台也都支持Linux服务器,但考虑到节省DIY的成本,在不影响在实际应用当中的部署过程差异的前提下,结合Windows 10自身的功能,决定在Windows 10系统下安装Linux子系统,进行服务器的部署。
1.Windows10系统准备配置
下面需要对Windows10操作系统在安装Linux子系统之前做一些准备工作:
1.1.确认Windows10版本:通过WIN+R命令调出运行窗口,输入WINVER命令查看当前操作系统版本。系统必须是64位操作系统。
1.2.开启Windows功能:通过WIN+R命令调出运行窗口,输出CONTROL命令调出控制面板。在控制面板中选择程序->启用或关闭Windows功能->适用于Linux的Windows子系统,确定进行安装,安装完成后需要重新启动电脑。
1.3.开启开发人员模式:通过WIN+I命令调出Windows设置界面,在Windows设置->更新和安全->开发者选项中选择“开发人员模式”,并确认启用开发人员模式,等待安装结束。
2.安装Linux子系统:Ubuntu 18.04 LTS
2.1.安装Microsoft Store软件
2.2.打开Microsoft Store软件,在搜索栏输入Ubuntu,选择Ubuntu 18.04 LTS进行免费获取和安装,等完成后将其固定到“开始”菜单。
2.3.点击开始菜单的Ubuntu 18.04启动,第一次启动会显示“Installing, this may take a few minutes...”,等待安装初始化完成。根据界面提示调协用户和密码后Ubuntu 18.04 Linux子系统就安装成功了。
2.4.当前Linux子系统在Windows10是共享硬盘资源的,在Windows10系统中“我的电脑”中的C盘和D盘,可以在Linux的/mnt/路径下进行访问。
3.Linux子系统安装JDK
3.1.下载JDK软件
使用wget命令下载JDK软件包jdk-8u202-linux-x64.tar.gz存放在/tmp/目录下。下载地址https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
3.2.解压JDK软件安装包
使用tar命令对安装包进行解压:tar˽-zxvf˽jdk-8u202-linux-x64.tar.gz,等待解压完成后在当前目录下会生成一个jdk1.8.0_202的文件夹。
3.3.将解压后的文件夹移动到/usr/lib/目录下
- 新建目录:sudo˽mkdir˽/usr/lib/jdk
- 移动文件:sudo˽mv˽/tmp/jdk1.8.0_202˽/usr/lib/jdk
3.4.配置JAVA环境变量
使用sudo˽vim˽/etc/profile命令对/etc/目录下的profile文件进行编辑(在操作此文件前最好先做一下备份:sudo˽cp˽profile˽profile_backup),在末尾添加如下几行文字:
#set java environment
export˽JAVA_HOME=/usr/lib/jdk/jdk1.8.0_202
export˽JRE_HOME=${JAVA_HOME}/jre
export˽CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export˽PATH=${JAVA_HOME}/bin:$PATH
*使用source˽/etc/profile命令执行修改立即生效
3.5.验证JDK是否安装成功
在终端输入java˽-version,出现版本号则表示安装成功,如下所示:
java version “1.8.0_202”
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-bit Server VM (build 25.202-b08, mixed mode)
4.Linux子系统安装MQTT服务器:Apache Apollo
4.1.下载Apache Apollo软件
4.2.解压Apache Apollo软件安装包
使用tar命令对安装包进行解压:tar˽-zxvf˽apache-apollo-1.7.1-unix-distro.tar,等待解压完成后在当前目录下会生成一个apache-apollo-1.7.1的文件夹。
4.3.将解压后的文件夹移动到/home/ubuntu/目录下
mv˽/tmp/apache-apollo-1.7.1˽/home/ubuntu
4.4.创建broker实例:mybroker
- cd˽/home/ubuntu/apache-apollo-1.7.1/bin/
- ./apollo create mybroker
4.5.修改配置
vim˽/home/ubuntu/apache-apollo-1.7.1/bin/mybroker/etc/apollo.xml
将
http://127.0.0.1:61680”/>
https://127.0.0.1:61681”/>
修改为:
http://0.0.0.0:61680”/>
https://0.0.0.0:61681”/>
4.6.启动Apache Apollo的mybroker实例
- cd˽/home/ubuntu/apache-apollo-1.7.1/bin/mybroker/bin/
- ./apollo-broker run
启动成功后如下图所示:
4.7.将实例作为Linux Service启动
sudo˽ln˽-s˽/home/ubuntu/apache-apollo-1.7.1/bin/mybroker/bin/apollo-broker-service˽/etc/init.d/apollo
4.8.访问Apache Apollo的监控界面
在Windows 10系统下打开浏览器访问:http://localhost:61680,用户名和密码默认为:admin/password
5.Windows10系统安装花生壳软件
5.1.安装花生壳
如果没有帐户,则需要申请一个帐户。帐户在申请完成后建议购买一个域名和内网穿透个人版,总体费用在RMB10内,这个费用比租赁一个云服务器便宜多了。
5.2.新增映射
点击花生PC壳客户端软件中的内网穿透,界面将自动跳转到网页版的内网穿透配置界面。
点击新增映射,配置相应有参数后进行确定保存。
说明:
- 应用名称:MQTT(随便取一个)
- 选择域名:你购买的一个域名
- 映射类型:应用类
- 外网端口:动态端口
- 内网主机:花生壳PC客户端运行电脑的IP地址
- 内网端口:61613
6.Windows10系统安装MQTT客户端
6.1.安装MQTT客户端
6.2.配置MQTT客户端
运行MQTT.FX软件,点击齿轮配置按钮,进入到Edit Connection Profiles界面,点击”+”新增一个连接。配置完成后点击OK,返回到MQTT.fx操作界面。
说明:
MQTT Broker Profile Settings配置项:
Broker Address:花生壳购买的域名
Broker Port:花生壳动态生成的端口号
General配置项:如上截图所示进行配置
User Credentials配置项:
User Name:固定为admin
Password:固定为password
6.3.连接MQTT服务器
下拉列表中选择刚刚新建的MQTT连接,点击Connect按钮进行连接MQTT服务器。
在连接MQTT服务器时必须保证Windows 10下花生壳客户端软件处于打开并且登录状态、Linux子系统下Apache Apollo MQTT服务器软件处于运行状态。
6.4.操作MQTT客户端
在MQTT客户端成功连接MQTT服务器后,可以在Publish界面发布Topic、在Subscribe界面订阅Topic。
如下图是一个自发自收的一个例子。