Ubuntu 20.04 安装 Unifi 控制器成功,但是无法启动

OS:Ubuntu 20.04 LTS
通过 参考《UniFi - 阿里云上安装 UniFi 控制器基础教学(Ubuntu 版) 目录》
https://help.ui.com.cn/articles/360000002802/
安装成功之后,发现服务无法启动,如下报错:

$ sudo apt list | grep unifi
unifi/stable,stable,now 6.0.45-14358-1 all [已安装]

$ sudo systemctl status unifi
● unifi.service - unifi
Loaded: loaded (/lib/systemd/system/unifi.service; enabled; vendor preset: enabled)
Active: failed (Result: start-limit-hit) since Thu 2021-03-11 18:16:12 CST; 331ms ago
Process: 18788 ExecStart=/usr/lib/unifi/bin/unifi.init start (code=exited, status=0/SUCCESS)
Process: 18921 ExecStop=/usr/lib/unifi/bin/unifi.init stop (code=exited, status=0/SUCCESS)

3月 11 18:16:12 CHAFLX-Ubuntu systemd[1]: unifi.service: Scheduled restart job, restart counter is at 5.
3月 11 18:16:12 CHAFLX-Ubuntu systemd[1]: Stopped unifi.
3月 11 18:16:12 CHAFLX-Ubuntu systemd[1]: unifi.service: Start request repeated too quickly.
3月 11 18:16:12 CHAFLX-Ubuntu systemd[1]: unifi.service: Failed with result ‘start-limit-hit’.
3月 11 18:16:12 CHAFLX-Ubuntu systemd[1]: Failed to start unifi.

不知道怎么解决?

另外,如果是一台 Linux 服务器,需要安装 UniFi 控制器,还是建议通过 Docker的方式安装吗?
但是 Docker 安装的方式,有没有办法在线升级?

看看log有些啥
/var/log/unifi/server.log
我是装在18.04的lxd容器里的

猜测也许是java,官方文档提到
unifi还只支持java 8,因为20.04应该默认会有java 11,会优先使用java 11
java -version,看默认java版本
sudo update-alternatives --config java,选择默认用java 8

之前的环境已经用docker搭建了。
刚刚有重新弄了个一个 Ubuntu 20.04 LTS,重新安装了下,反馈如下:

还没有生成日志文件,都还是空的。
:/var/log/unifi# ll
总用量 10
drwxr-x— 2 unifi unifi 2 3月 14 01:59 ./
drwxrwxr-x 15 root syslog 30 3月 14 01:59 …/

java的版本如下:
$ java --version
openjdk 14.0.2 2020-07-14
OpenJDK Runtime Environment (build 14.0.2+12-Ubuntu-120.04)
OpenJDK 6 4 - Bit Server VM (build 14.0.2+12-Ubuntu-120.04, mixed mode, sharing)

$ sudo update-alternatives --config java
链接组 java ( 提供 /usr/bin/java ) 中只有一个候选项 :/usr/lib/jvm/java-14-openjdk-amd6 4 /bin/java
无需配置。

我找找切换java 8的版本的方法。

我的天,中间竟然有明感词变成小方块。。。。。

那是java问题了,太新,装java 8:
sudo apt install openjdk-8-jre-headless -y

试了下,update-alternative是不用的,只要装了就行,unifi的脚本会自动选择8版本的

1赞

感谢大佬,已经成功了。
查看java状态
$ dpkg -l openjdk*
期望状态=未知(u)/安装(i)/删除®/清除§/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置©/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触发器未决(T)
|/ 错误?=(无)/须重装® (状态,错误:大写=故障)
||/ 名称 版本 体系结构 描述
++±=============================-=================-============-==================================================
un openjdk-11-jdk-headless <无> <无> (无描述)
ii openjdk-14-jre-headless:amd6 4 14.0.2+12-1~20.04 amd6 4 OpenJDK Java runtime, using Hotspot JIT (headless)

安装 java 8.
$ sudo apt install openjdk-8-jre-headless

已经安装。
$ dpkg -l openjdk*
期望状态=未知(u)/安装(i)/删除®/清除§/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置©/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触发器未决(T)
|/ 错误?=(无)/须重装® (状态,错误:大写=故障)
||/ 名称 版本 体系结构 描述
++±=============================-========================-============-==================================================
un openjdk-11-jdk-headless <无> <无> (无描述)
ii openjdk-14-jre-headless:amd6 4 14.0.2+12-1~20.04 amd6 4 OpenJDK Java runtime, using Hotspot JIT (headless)
ii openjdk-8-jre-headless:amd6 4 8u282-b08-0ubuntu1~20.04 amd6 4 OpenJDK Java runtime, using Hotspot JIT (headless)

现在看到服务已经起来了。
$ sudo systemctl status unifi
● unifi.service - unifi
Loaded: loaded (/lib/systemd/system/unifi.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2021-03-14 16:22:44 CST; 24s ago
Process: 27505 ExecStart=/usr/lib/unifi/bin/unifi.init start (code=exited, status=0/SUCCESS)
Main PID: 276 41 (jsvc)
Tasks: 128 (limit: 9445)
Memory: 676.2M
CGroup: /system.slice/unifi.service
├─276 41 unifi -cwd /usr/lib/unifi -home /usr/lib/jvm/java-8-openjdk-amd6 4 -cp /usr/share/java/commons-daemon.jar:/u>
├─276 42 unifi -cwd /usr/lib/unifi -home /usr/lib/jvm/java-8-openjdk-amd6 4 -cp /usr/share/java/commons-daemon.jar:/u>
├─276 43 unifi -cwd /usr/lib/unifi -home /usr/lib/jvm/java-8-openjdk-amd6 4 -cp /usr/share/java/commons-daemon.jar:/u>
├─27701 /usr/lib/jvm/java-8-openjdk-amd6 4/jre/bin/java -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dapple.awt.U>
└─27781 bin/mongod --dbpath /usr/lib/unifi/data/db --port 27117 --unixSocketPrefix /usr/lib/unifi/run --logRotate r>

3月 14 16:22:30 ubuntu01 systemd[1]: Starting unifi…
3月 14 16:22:31 ubuntu01 unifi.init[27505]: * Starting Ubiquiti UniFi Controller unifi
3月 14 16:22:32 ubuntu01 unifi[276 42]: WARN Unable to load properties from ‘/usr/lib/unifi/data/system.properties’ - /usr/>
3月 14 16:22:44 ubuntu01 unifi.init[27505]: …done.
3月 14 16:22:44 ubuntu01 systemd[1]: Started unifi.

再次感谢大佬!