1.介绍
今天和大家分享一个服务器管理工具——Nexterm,非常适合服务器多的小伙伴,也适合想要在一个窗口操作Linux和windows的小伙伴。
1.1.项目优势
- 支持Docker一键部署
- 支持RDP、VNC、SSH,意味着可以连Windows
- 支持SFTP,可以传文件、编辑文件
- 内置App Store可以快速安装应用
- 支持二步验证
1.2.项目展示
登陆页面
创建服务器
成功登录
支持二步验证
App Store
可以换图标
支持RDP、VNC、SSH,意味着可以连Windows
支持SFTP,可以传文件
可以编辑文件
支持创建文件夹分类
2.相关地址
官方GitHub地址: https://github.com/gnmyt/Nexterm
官网地址:https://docs.nexterm.dev/
3.搭建环境
- 服务器:使用的是莱卡云的,境外特惠香港服务器。现在莱卡云服务器有年付促销活动性价比会更高。查看官网购买链接:https://www.lcayun.com/aff/ZFVSWGGQ
- 资源配置:4核4G 50G硬盘
建议服务器内存1G以上(建议搭建在非大陆服务器上,而且最好是本地连接快一点的。 - 服务器系统:CentOS-8.2
- 安装Docker:安装好 Docker、Docker-compose
- 【必需】域名一枚,并做好解析到服务器上
- 【必需】安装好 Nginx Proxy Manager
4.搭建视频
哔哩哔哩:https://www.bilibili.com/video/BV17vqAYTEMQ/?spm_id_from=333.999.0.0
5.搭建方式
5.1安装 Docker 与 Nginx Proxy Manager
安装参考:https://blog.lcayun.com/3159.html
5.2创建安装目录
sudo -i
mkdir -p /root/data/docker_data/nexterm
cd /root/data/docker_data/nexterm
接着我们来编辑下 docker-compose.yml
vi docker-compose.yml
services:
nexterm:
ports:
- "3010:6989" # 左边的3010可以改成服务器上没有用过的端口
restart: unless-stopped # no,always,on-failure,unless-stopped
volumes:
- ./nexterm:/app/data
image: germannewsmaker/nexterm:latest
- no 是默认的重启策略,docker容器如启动失败或意外停止后Docker Daemon不会尝试进行重启,除非手动启动容器,否则一直是stop的状态。
- always表示永远重启,它的先决条件是如果你使用docker stop 命令停止了容器则docker不会自行启动该容器,但如果执行docker stop命令后重启了Docker Daemon则该容器会触发always,重启策略,进而启动容器。
- on-failure重启策略的触发标准是当Docker Daemon检测到容器非正常停止后则会执行该重启策略。on-failure要求传入一个整型参数表示重启次数,当重启次数>=该整数值则不会予以重启。
- unless-stopped重启策略与always很相似,唯一不同处在于unless-stopped会在Docker Daemon启动时会检测docker容器列表内的容器在上次停止时的状态,如果上一次容器停止时就是stop状态则不会启动该容器,否则启动该容器。
同样,修改完成之后,可以在英文输入法下,按 i 修改,完成之后,按一下 esc,然后 :wq 保存退出。
5.3查看端口是否被占用
查看端口是否被占用(以 3010 为例),输入:
lsof -i:3010 #查看 3010 端口是否被占用,如果被占用,重新自定义一个端口
如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了
6.使用教程
6.1启动 nexterm
cd /root/data/docker_data/nexterm
docker-compose up -d
等待拉取好镜像,出现 done 的字样之后,理论上我们就可以输入 http://ip:3010 访问了。
但是这边这个服务必须先搞一下反向代理!不然会报错!
7.反向代理
有关于做反向代理的教程参考上一篇文章:https://blog.lcayun.com/3159.html
8.常见问题及注意点
文件夹的重命名需要大于3个字母,2个不行,2个汉字也不行
9.结尾
同时,项目处于初期,不建议在生产环境中使用。为了使用更加稳定,请大家及时关注官方更新。
有问题可以去 GitHub 提 Issues,也欢迎在评论区留言!