N1盒子折腾日记 篇一:尝试在N1盒子上部署UBNT Unifi控制器

2021-08-15 17:33:04 48点赞 182收藏 53评论

创作立场声明:本文的安装方法参考了国外博客Hiscorebob里的一些安装方法,在这里对原作者表示感谢~

Intro

闲来无事,这几天弄了一个斐讯的N1盒子来折腾~ 考虑到ARM64架构上跑基于Java的应用更有优势,顺便迁移一下Unifi控制器,之前的小服务器实在是拉不动这个基于Java的庞然大物。今天我就尝试一下折腾N1盒子,安装一下Java运行环境和Unifi控制器。

系统安装和更新源的更换在这里就不做更多的说明啦,有需要的话可以自行搜索站内的其他文章,方法和其他Linux系统大同小异,直接进入正题吧~

准备工作要做好~

在Linux下安装软件最麻烦的一点不是安装这个软件本身,而是解决这个软件的依赖问题。根据UBNT官方的说明,Unifi控制器可以在多个系统上运行,其中支持最好的就是Linux系统——因为官方的控制器Unifi Cloud Key实际上就是一个小型的Linux盒子。Unifi控制器的本体是基于Java运行的,在Linux下依赖mongo数据库保存有关信息。

知道这些以后,可以直接开始操作了,这里参考了国外的一些资料(主要是Hiscorebob的博客,原文是在Dietpi上安装Unifi控制器),在这里对原作者表示感谢~

这里演示采用的是基于Ubuntu内核的armbian以及apt包管理器,如果是基于centOS内核的可以使用yum install进行相关软件的安装。

首先是Linux安装软件之前的基本操作——更新软件源缓存,由于默认就在root用户下进行操作,直接执行下面的命令就行。

apt update(如果是centOS的话用yum makecache)

执行之后如果输出的是下面类似的信息,那就可以继续进行下一步操作;如果有报错信息的话就单独解决。

尝试在N1盒子上部署UBNT Unifi控制器

Java运行环境的安装

执行完成之后先安装Java8和相关依赖,执行命令,等待一阵子就可以安装好Java运行环境了。

apt install libcommons-daemon-java openjdk-8-jre-headless ca-certificates-java binutils jsvc -y

安装好后执行

java -version

如果显示的是下面的输出信息,那就证明Java运行环境部署正常,系统具备运行Java程序的环境了。

尝试在N1盒子上部署UBNT Unifi控制器

mongodb-server的安装(手动安装)

之后就是安装mongo数据库的时间了,由于mongo官方并没有适配N1盒子,但是mongo数据库本身是可以在arm架构上运行的,所以我们可以采用手动安装的方法或者给apt添加源的方法安装,两种方法都是可以运行的,可以根据自己的实际情况进行选择。 我个人比较习惯手动安装的方法,下面就演示一下手动的步骤~

首先是下载好对应版本的安装包,在官网可以找到,然后选择社区版下载:传送门

尝试在N1盒子上部署UBNT Unifi控制器

注意选择的时候选择tgz压缩包的版本下载,Platform那里选择和自己系统内核最接近的,比如我用的就是基于Ubuntu 18.04内核的armbian,所以选择图上的版本。下载好之后用WinSCP或者其他软件传输到N1盒子上,解压缩安装就行了。

在这里为了方便起见,重命名文件名为mongodb.tgz,接下来的演示都是基于这个文件名进行的。

首先执行

tar -xvzf mongodb.tgz && mv mongodb /usr/local/mongodb

执行完以后文件被解压并且被移动到/usr/local/mongodb目录下,之后我们进入这个目录

cd /usr/local/mongodb

进入目录之后我们需要建立几个文件夹用来存放配置文件之类的,执行

mkdir conf data log

然后给刚才的文件加上权限

chmod -R +x conf data log

之后配置环境变量

export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin

配置完成之后执行一下下面的命令使得新配置的环境变量生效

source /etc/profile

然后编写启动配置文件,执行

nano /usr/local/mongodb/conf/mongodb.conf

然后添加以下内容

dbpath = /usr/local/mongodb/data/db
logpath = /usr/local/mongodb/log/mongodb.log
port = 27017
fork = true
bind_ip = 0.0.0.0

然后按下Ctrl+X保存退出就行。

然后执行以下命令启动mongodb,如果没什么异常的话应该是直接在后台运行mongod守护进程了。

/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongodb.conf

然后这个时候我们可以运行mongodb的shell程序检查一下是不是能连接上数据库,可以运行

/usr/local/mongodb/bin/mongo --host 127.0.0.1

如果显示的是下面的界面就代表安装成功了。

尝试在N1盒子上部署UBNT Unifi控制器

这里会出现一些WARNING的信息,主要是因为我们安装完毕后没有设置登陆方式和一些安全方面的内容,所以会有WARNING。如果只是内网用的话,可以忽略不计;但是要开放外网访问的话就需要设置一下验证之类的了。

确认无误后直接输入exit,然后回车就能退出了。

真正的主角现身啦~

以上的步骤结束以后就可以准备安装Unifi控制器的本体了,我们可以在官网下载控制器的安装包:传送门

不知道为什么ubnt国内的官网的版本比美国官网慢了一个小版本号,而且几个月过去了还没更新。。。这里直接去美国官网下载最新的6.2.26版,直接下载UniFi Network Application 6.2.26 for Debian/Ubuntu Linux and UniFi Cloud Key就行。

尝试在N1盒子上部署UBNT Unifi控制器

下载好后把unifi_sysvinit_all.deb传输到N1盒子上就行,然后执行

dpkg -i unifi_sysvinit_all.deb

如果安装的时候出现依赖问题的话,直接运行

apt install -f -y

修复一下依赖就可以,修复完成之后会继续完成上一次没完成的安装,耐心等一下就好~

安装完毕之后执行命令

systemctl status unifi

检查一下unifi服务是否正常运行了,如果显示的是下面的样子,就可以开始配置了。

尝试在N1盒子上部署UBNT Unifi控制器

按Ctrl+C退出,就可以关闭服务器了,服务端的配置结束,之后访问下面的地址就可以开始配置Unifi控制器,这一部分跟着向导走就行了。

配置地址:http://盒子IP:8080

配置完成的话应该可以看到下面这样的界面(默认是新版的界面,我改回旧版了)

尝试在N1盒子上部署UBNT Unifi控制器

至此配置就基本结束了。

一点点小的优化

Mongodb自启动配置

配置结束并不代表整个的安装流程的结束,我们之前用的是手动安装mongodb的模式,mongodb在这样的情况下并不会自动启动,所以我们得在rc.local里添加一些东西,先用nano编辑/etc/rc.local:

nano /etc/rc.local

然后添加一句

/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongodb.conf

保存退出就行了。

之后可以重启系统试试看,如果没有问题的话unifi服务和mongod应该是可以随着系统自动启动的。

Unifi控制器内存优化配置

Unifi控制器的默认内存占用比较高,N1盒子只有2G的RAM,如果留着默认值的话可能会导致内存占用太高,其他事情几乎干不了。这里我们可以优化一下Unifi控制器的内存占用。

用nano编辑system.properties,添加以下内容就行

unifi.G1GC.enabled=true

unifi.xms=256

unifi.xmx=256

这三句分别是启用Java高性能垃圾回收器,限制内存占用为256M。保存好之后可以执行

systemctl restart unifi

等一阵子新的设置就生效了,内存占用应该有明显改善。

正常运行的话N1盒子的CPU利用率应该不会很高的,几乎都在10%以下,之前在Windows上跑的时候占用了很多CPU的资源,相比之下还是ARM比较适合这种大型的Java程序。。。。

尝试在N1盒子上部署UBNT Unifi控制器

以上就是这次的折腾记录~

如果有帮助的话就请点个赞支持一下,谢谢各位小伙伴啦~

展开 收起

UBNT/优倍快 全千兆有线路由器 EdgeRouter ER-4专业版企业级PoE供电 可上机架 家用 硬件加速高性能轻松跑满

UBNT/优倍快 全千兆有线路由器 EdgeRouter ER-4专业版企业级PoE供电 可上机架 家用 硬件加速高性能轻松跑满

暂无报价

UniFi UDM-SE/UDM-PRO万兆企业路由POE交换监控门禁一体机企业级高性能网关NVR云管理Ubiquiti优倍快UBNT

UniFi UDM-SE/UDM-PRO万兆企业路由POE交换监控门禁一体机企业级高性能网关NVR云管理Ubiquiti优倍快UBNT

4199元起

UniFi U6-Pro/U6-Lite/U6-LR WiFi6吸顶AP双频5G办公酒店别墅多台组网无死角覆盖全屋漫游Ubiquiti优倍快UBNT

UniFi U6-Pro/U6-Lite/U6-LR WiFi6吸顶AP双频5G办公酒店别墅多台组网无死角覆盖全屋漫游Ubiquiti优倍快UBNT

1399元起

UniFi U6-IW/UAP-IW-HD/UAP-AC-IW面板AP双频WiFi6/带PoE交换机/多台组网全屋无线漫游Ubiquiti优倍快UBNT

UniFi U6-IW/UAP-IW-HD/UAP-AC-IW面板AP双频WiFi6/带PoE交换机/多台组网全屋无线漫游Ubiquiti优倍快UBNT

1549元起

UBNT优倍快 UniFi UDM-PRO 万兆网关路由器/交换机/控制器/录像机 视频管理存储一体

UBNT优倍快 UniFi UDM-PRO 万兆网关路由器/交换机/控制器/录像机 视频管理存储一体

暂无报价

UBNT er-x 路由器 (黑色)

UBNT er-x 路由器 (黑色)

暂无报价

UBNT 优倍快 无线AP AC二代控制器可远程管理 UCK-G2

UBNT 优倍快 无线AP AC二代控制器可远程管理 UCK-G2

1699元起

Ubiquiti 优倍快 UBNT优倍快UniFi WiFi6千兆吸顶式无线AP U6-Lite5G双频高速低延迟PoE供电大户型穿墙全屋覆盖家用别墅企业级

Ubiquiti 优倍快 UBNT优倍快UniFi WiFi6千兆吸顶式无线AP U6-Lite5G双频高速低延迟PoE供电大户型穿墙全屋覆盖家用别墅企业级

855元起

Ubiquiti 优倍快 ER-X 千兆企业路由器 黑色 单个装

Ubiquiti 优倍快 ER-X 千兆企业路由器 黑色 单个装

暂无报价

Ubiquiti优倍快UniFi万兆企业路由交换监控门禁一体机UDM-SE 高性能网管路由器企业级安全云管理集结一体UBNT

Ubiquiti优倍快UniFi万兆企业路由交换监控门禁一体机UDM-SE 高性能网管路由器企业级安全云管理集结一体UBNT

3199元起

UBNT ER-X-SFP 企业级千兆有线路由器 带PoE

UBNT ER-X-SFP 企业级千兆有线路由器 带PoE

暂无报价

Ubiquiti 优倍快 UC-CK 千兆无线AP 单个装 白色

Ubiquiti 优倍快 UC-CK 千兆无线AP 单个装 白色

暂无报价

UBNT UAP-AC-LITE 双频300M 千兆吸顶式无线AP Wi-Fi(802.11ac)POE 白色

UBNT UAP-AC-LITE 双频300M 千兆吸顶式无线AP Wi-Fi(802.11ac)POE 白色

暂无报价

Ubiquiti 优倍快 AmpliFi 双频1750M 千兆Mesh家用无线路由器+1个扩展器 单个装 白色

Ubiquiti 优倍快 AmpliFi 双频1750M 千兆Mesh家用无线路由器+1个扩展器 单个装 白色

暂无报价

Ubiquiti 优倍快 U6-Pro吸顶WiFi6 4800MBps

Ubiquiti 优倍快 U6-Pro吸顶WiFi6 4800MBps

855元起

UBNT优倍快 UniFi USG安全网关 企业级千兆安全网关 路由器 防火墙 封包分析 IPsec 网管型配置统一下发

UBNT优倍快 UniFi USG安全网关 企业级千兆安全网关 路由器 防火墙 封包分析 IPsec 网管型配置统一下发

暂无报价
53评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
相关好价
最新文章 热门文章
182
扫一下,分享更方便,购买更轻松