从零开始开发物联网项目(8)——云服务器初体验
距离上一篇教程已经过去半年了,最近又完成了一个项目,将淘宝上买来的刷二维码的共享雨伞架改成了可以刷校园卡的公益雨伞架,仅仅使用了原来的伞架(主要是自己做的架子真的要使用还需要做很多的改进,所以索性就买现成的来改了),伞架的智能硬件使用了Arduino 2560,然后使用了esp8266模块(因为学校里到处都是wifi,就懒得做nb-iot了),通讯方式使用了mqtt,数据库选用了mysql,然后买了个腾讯云,三年才288,真的很便宜。
这一节我们就来说说云服务器,记得之前教程中我曾说过要用一个树莓派来作为服务器,后来想想三年的云服务器使用费才288,比一个树莓派都要便宜了,而且使用起来比树莓派方便多了,尤其是网络连接方面,树莓派要连上公网真的是很麻烦的。我现在觉得应该把家里的那些可以远程控制的智能终端都连到自己的云服务器上,这样安全性会高很多啊,而且也不怕那些公司倒闭而无法使用(之前学校实验室安装了整套的智能控制,包括门锁、所有的灯、插座、窗帘、摄像头…结果一年前那家公司倒闭了,之后服务器也关闭了…所有的这些终端都成了摆设…心痛啊…),如果做一款可以连自己服务器的智能终端,说不定会很好卖…

一、云服务器的采购

网上的云服务器很多,什么阿里云、华为云、腾讯云、百度云…还有国外的一些,我最早免费申请了一个月的华为云,后来看到腾讯云正在搞活动,三年288,赶紧买了一个,大家如果刚开始学,可以随便挑一个国内的免费试用(每个云都有免费试用的),具体的购买这里就不提了,和上网购物差不多。买好后,就可以进入控制台看到自己买的云服务器了:

上图是我的1核2G1M的云服务器,我选的是ubuntu server 18.04.1 LTS64位系统,购买的时候可以自己选择的,因为以前玩过ubuntu,所以就装了这个。

二、登录云服务器

登录云服务器可以直接点控制台网页上的“登录“,输入密码就可以进入:

就跟远程登陆linux系统一样的界面,不过个人不太建议用这种方式,我们还是安装一个putty软件来登录。putty软件自行去百度下载吧。
双击putty.exe就可以进入:

然后在主机名称里输入你自己的云服务器公网ip,然后打开:

腾讯云用户名默认的是ubuntu,华为云默认的是root,你的具体是什么自己查阅自己的云介绍。

输入密码,就可以进入了:

三、软件的安装1——Mysql安装

在云服务器安装软件就和在本地机上安装差不多的,我们因为要使用mqtt服务和mysql服务,所以要安装emqx软件和mysql软件,首先先来安装mysql服务器,这部分比较简单,依次输入下列指令就可以了:

1、更新高级软件包工具

sudo apt-get update

2、安装MySQL服务器

sudo apt-get install mysql-server

3、安装MySQL客户端

sudo apt-get install mysql-client

4、安装MySQL依赖库

sudo apt-get install libmysqlclient-dev

5、查询MySQL状态

sudo netstat -tap | grep mysql

6、看MySQL版本

sudo mysql -V

7、登录MySQL

sudo mysql

就进入了

mysql>


为了能够远程访问数据库,我们还需要下面的设置:

1、编辑mysql配置文件,把其中bind-address = 127.0.0.1注释掉

输入:sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

然后按上下键找到bind-address = 127.0.0.1,并在前面加#:

然后按Crtl+X退出并键入Y保存并退出。

2、登陆 mysql:输入密码进行登陆

sudo mysql -uroot -p


3、进入数据库后,使用 mysql库 :

use mysql;


4、修改权限

grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option;

库名:要远程访问的数据库名称,所有的数据库使用“*”

表名:要远程访问的数据库下的表的名称,所有的表使用“*”

用户名:要赋给远程访问权限的用户名称

IP地址:可以远程访问的电脑的IP地址,所有的地址使用“%”

密码:要赋给远程访问权限的用户对应使用的密码

上图中我的远程登录名为makemaker,密码为arduino2020。

5.刷新权限 ,最后一定要输入下面语句进行刷新,不然不执行的:

flush privileges;

6、退出mysql:

exit或者quit

7、重启mysql数据库

service mysql restart

至此mysql安装完毕,但是现在还没法从外网登陆的,因为系统的端口还没有打开,mysql使用的端口是3306,首先在ubuntu系统中打开端口:
输入:

sudo ufw allow 3306

然后再回到云控制台,点击更多,选择安全组里的配置安全组。


点击你自己的id/名称:

然后点击添加规则:

然后选择MySQL(3306),点击完成即可。至此,云服务器mysql安装完毕,并且也配置好了远程访问,接下去就通过远程访问一下自己的云数据库。
我们使用Navicat软件来远程访问云数据库,这个软件请自己百度去下载了。


连接名随便取,主机名就是你自己的云服务器公网ip,用户名密码就用刚才你自己设置的,然后点击连接测试。之后可以双击进入了

可以在这里进行云数据库的各种操作,包括建立表,查看,修改等等。

四、软件的安装2——mqtt服务器emqx安装

接下去开始安装mqtt服务器emqx,首先从emqx官网去下载对应的软件

下载自己的系统对应的版本,当然这个是下载在自己的电脑里的。下载完后,要将这个软件传输到自己的云服务器里,这时我们要使用另一个软件:FileZilla

左边是自己电脑的文件,右边是云服务器上的,当然首先要连接上,在主站里输入sftp://你服务器的IP地址,用户名和密码就是你服务器的,输完后就可以点击快速连接:

然后右侧就会出现你云服务器里的文件了,将左侧你自己电脑里的文件拖入右边就可以上传到服务器了。将我们之前下载到的emqx安装文件emqx-ee-ubuntu18.04-4.1.1_x86_64.deb上传到云服务器上,我这里新建了一个文件夹tools,我就把文件拷贝在了这个文件夹里。好了,现在再返回putty控制台,开始安装文件。

进入tools文件夹,然后输安装命令:

sudo dpkg -i emqx-ee-ubuntu18.04-4.1.1_x86_64.deb

等安装完后,开启emqx服务:

sudo emqx start

至此,emqx服务器已经安装完了,不过现在还无法使用,因为emqx的端口还未打开,同样输入:

sudo ufw allow 18083
sudo ufw allow 1883

再在ubuntu中开启端口,当然别忘记还需要在云控制台界面上的安全组里添加入站规则:

接下去在你电脑的浏览器里输入: 你的ip地址:18083,就可以进入emqx的控制界面了,第一次进入是需要输入用户名(admin)和密码(public).

好了,终于安装好物联网必备的两个软件了,不要觉得云服务器很神秘的样子,其实用过后你就会觉得它和一台本地linux电脑没什么区别,反而更简单了,例如要重装系统只要在云控制台简单的点击几下就完成了。相比自己弄个树莓派或者计算机来做服务器,还能省很多电费呢!有兴趣的同学赶紧先去申请个免费的来玩玩吧!

从零开始开发物联网项目(8)——云服务器初体验相关推荐

  1. 华为云 云耀云服务器初体验

    华为云 云耀云服务器初体验 CSDN的图片上传让我哭泣他们不优化 我也不想一张一张网上传就是这么倔强:https://www.cnblogs.com/hx97/p/12490904.html 图片在这 ...

  2. 从零开始开发物联网项目(1)——mqtt服务器搭建

    去年开发了一个物联网的项目,入了很多坑,花了很多时间,不过最后终于做出了一个初代版本,也算完成了项目.为了避免自己遗忘,也为了让有兴趣学习物联网的同学少入点坑,我整理了一下,写成一个系列教程.通过这个 ...

  3. 阿里云ECS和轻量云服务器区别比较,阿里云轻量云服务器初体验

    一.阿里云云服务器ECS和阿里云轻量云服务器有哪些区别 先介绍下阿里云云服务器ECS和阿里云轻量云服务器有哪些区别? 阿里云云服务器官方文档:https://help.aliyun.com/docum ...

  4. 开发直播APP选择云服务器的优点

    开发者在开发直播app是都会用到服务器来辅助完成直播的相关业务.目前市场上,服务器的种类大致可以分为两种,一种是物理服务器,另一种是云服务器.但是目前适合直播业务的非云服务器不选. 首先,小编先来跟大 ...

  5. 快速部署web项目上线云服务器

    快速部署web项目上线云服务器 一.第一步登录腾讯云 1.登录腾讯云后,先购买或者在最新活动中免费领取一个十五天的云服务器产品 2.然后点击头像 3.在云产品选项中选择你需要的云服务器或轻量级应用服务 ...

  6. 从零部署 Django 项目至云服务器

    过去半个月,成功实现了将 Python Django 搭建的 API 本地项目部署到阿里云服务器.因为是初次尝试部署服务器.注册域名等,甚至也是自己独立去使用 Linux 系统,在整个部署过程中没来得 ...

  7. 服务器有几个项目,一个云服务器能有几个项目

    一个云服务器能有几个项目 内容精选 换一换 虚拟IP地址用于为网卡提供第二个IP地址,同时支持与多个弹性云服务器的网卡绑定,从而实现多个弹性云服务器之间的高可用性.该接口用于给云服务器网卡配置虚拟IP ...

  8. 烟台联通云服务器项目,烟台联通云服务器项目

    烟台联通云服务器项目 内容精选 换一换 为了避免不必要的费用产生,完成本示例体验后,可释放以下资源.资源释放后无法恢复,请谨慎操作.项目是使用DevCloud各服务的基础,删除项目可将该项目中所有数据 ...

  9. Flask项目部署云服务器 CentOS7.3+Redis+MySQL+Flask+Nginx+Gunicorn +Supervisorctl

    Flask项目部署云服务器 CentOS7.3+Redis+MySQL+Flask+Nginx+Gunicorn +Supervisorctl 项目运行环境 阿里云(单核CPU, 2G内存, Cent ...

最新文章

  1. keras从入门到放弃(四)多分类问题
  2. 双端队列 HDOJ 3530 Subsequence
  3. Codeforces Round #723 (Div. 2)
  4. 异步与延迟加载JavaScript的方法
  5. ITU-T Technical Paper: QoS的构建模块与机制
  6. open读取文件操作
  7. 微信JS SDK网页接口
  8. 深度步态识别综述(三)
  9. WIN10 激活系统
  10. MyScript基础功能
  11. docker安装及加速器
  12. JS Base64加密解密
  13. Python网络爬虫和信息提取
  14. pacs系统服务器配置,PACS系统部及配置说明.doc
  15. Educational Codeforces Round 92 (Rated for Div. 2)题解(A-C)
  16. 个人怎么创建微信公众号?
  17. 收集到的cmd基本命令快捷打开方式
  18. TL-R402M路由器恢复出厂设置方法
  19. 网站加入百度云加速后,出现Error520源站返回未知错误怎么办?
  20. 浙大计算机学院博士毕业论文要求,浙大在读博士需要3篇SCI 论文才能毕业,清华博士却不作要求!...

热门文章

  1. PostgreSQL 获取当前日期时间及注意事项
  2. HDU 6740 MUV LUV EXTRA(求循环节)
  3. 硬核 | 送你一份操作系统词典!值得收藏
  4. 三星配置服务怎么解决_三星手机笔记闪退怎么解决?三星手机好用的笔记App_显摆醋溜了...
  5. 2023年系统集成项目管理工程师报考指南,你学会了吗
  6. okhttp3宏观介绍及基础回顾
  7. 03《需求模式——软件建模与分析》
  8. python娃娃_Python学习笔记(一)
  9. c语言编制学生课程信息管理系统,C语言课程设计-学生信息管理系统.doc
  10. 5G/NR 网络切片之AMF选择(协议版)