This commit is contained in:
chaos-zhu 2022-06-16 19:00:10 +08:00
parent a534e3a12e
commit cddf49b1d8
2 changed files with 163 additions and 134 deletions

23
Q&A.md Normal file
View File

@ -0,0 +1,23 @@
# 用于收集一些疑难杂症
- 欢迎pr~
## 甲骨文CentOS7/8启动服务失败
> 先关闭SELinux
```shell
vi /etc/selinux/config
SELINUX=enforcing
// 修改为禁用
SELINUX=disabled
```
> 重启:`reboot`,再使用一键脚本安装
> 查看SELinux状态sestatus
## 甲骨文ubuntu20.04客户端服务启动成功,无法连接?
> 端口未开放:`iptables -I INPUT -s 0.0.0.0/0 -p tcp --dport 22022 -j ACCEPT`

274
README.md
View File

@ -1,134 +1,140 @@
# EasyNode # EasyNode
> 一个简易的个人Linux服务器管理面板(基于Node.js) > 一个简易的个人Linux服务器管理面板(基于Node.js)
## 功能 ## 功能
> 多服务器管理; 通过`websocker实时更新`服务器基本信息: **系统、公网IP、CPU、内存、硬盘、网卡**等 > 多服务器管理; 通过`websocker实时更新`服务器基本信息: **系统、公网IP、CPU、内存、硬盘、网卡**等
![服务器列表](./images/list.png) ![服务器列表](./images/list.png)
> 基于浏览器解决`SSH跨端同步`问题——**Web SSH** > 基于浏览器解决`SSH跨端同步`问题——**Web SSH**
![webssh功能](./images/webssh.png) ![webssh功能](./images/webssh.png)
## 安装指南 ## 安装指南
### 服务端安装 ### 服务端安装
- 依赖Node.js环境 - 依赖Node.js环境
- 占用端口8082(http端口)、8083(https端口)、22022(客户端端口) - 占用端口8082(http端口)、8083(https端口)、22022(客户端端口)
- 建议使用**境外服务器**(最好延迟低)安装服务端客户端信息监控与webssh功能都将以`该服务器作为跳板机` - 建议使用**境外服务器**(最好延迟低)安装服务端客户端信息监控与webssh功能都将以`该服务器作为跳板机`
- https服务需自行配置证书或者使用`nginx反代`解决(推荐) - https服务需自行配置证书或者使用`nginx反代`解决(推荐)
#### Docker镜像 #### Docker镜像
> 注意网速统计功能可能受限预计v2.0版本切换方案 > 注意网速统计功能可能受限预计v2.0版本切换方案
```shell ```shell
docker run -d -p 8082:8082 -p 22022:22022 chaoszhu/easynode docker run -d -p 8082:8082 -p 22022:22022 chaoszhu/easynode
``` ```
访问http://yourip:8082 访问http://yourip:8082
#### 一键脚本 #### 一键脚本
- 依赖Linux基础命令curl wget git zip tar如未安装请先安装 - 依赖Linux基础命令curl wget git zip tar如未安装请先安装
> ubuntu/debian: apt install curl wget git zip tar -y > ubuntu/debian: apt install curl wget git zip tar -y
> >
> centos: yum install curl wget git zip tar -y > centos: yum install curl wget git zip tar -y
```shell ```shell
wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/chaos-zhu/easynode/master/easynode-server-install.sh | bash wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/chaos-zhu/easynode/master/easynode-server-install.sh | bash
``` ```
访问http://yourip:8082 访问http://yourip:8082
- 查看日志:`pm2 log easynode-server` - 查看日志:`pm2 log easynode-server`
- 启动服务:`pm2 start easynode-server` - 启动服务:`pm2 start easynode-server`
- 停止服务:`pm2 stop easynode-server` - 停止服务:`pm2 stop easynode-server`
- 停止服务:`pm2 delete easynode-server` - 停止服务:`pm2 delete easynode-server`
#### 手动部署 #### 手动部署
1. 安装Node.js 1. 安装Node.js
2. 安装pm2、安装yarn 2. 安装pm2、安装yarn
3. 拉取代码git clone https://github.com/chaos-zhu/easynode.git 3. 拉取代码git clone https://github.com/chaos-zhu/easynode.git
4. 安装依赖yarn 4. 安装依赖yarn
5. 启动服务pm2 start server/app/main.js --name easynode-server 5. 启动服务pm2 start server/app/main.js --name easynode-server
6. 访问http://yourip:8082 6. 访问http://yourip:8082
- 默认登录密码admin(首次部署完成后请及时修改). - 默认登录密码admin(首次部署完成后请及时修改).
6. 部署https服务 6. 部署https服务
- 部署https服务需要自己上传域名证书至`\server\app\config\pem`,并且证书和私钥分别命名:`key.pem``cert.pem` - 部署https服务需要自己上传域名证书至`\server\app\config\pem`,并且证书和私钥分别命名:`key.pem``cert.pem`
- 配置域名vim server/app/config/index.js 在domain字段中填写你解析到服务器的域名 - 配置域名vim server/app/config/index.js 在domain字段中填写你解析到服务器的域名
- pm2 restart easynode-server - pm2 restart easynode-server
- 不出意外你就可以访问https服务https://domain:8083 - 不出意外你就可以访问https服务https://domain:8083
--- ---
### 客户端安装 ### 客户端安装
- 占用端口22022 - 占用端口22022
> 安装:支持后续一键升级 > 安装:支持后续一键升级
```shell #### X86架构
wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/chaos-zhu/easynode/master/easynode-client-install.sh | bash ```shell
wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/chaos-zhu/easynode/master/easynode-client-install.sh | bash
``` ```
#### ARM架构
> 卸载:无服务残留 ```shell
待补充
```shell ```
wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/chaos-zhu/easynode/master/easynode-client-uninstall.sh | bash
``` > 卸载:无服务残留
> 查看客户端状态:`systemctl status easynode-client` ```shell
> wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/chaos-zhu/easynode/master/easynode-client-uninstall.sh | bash
> 查看客户端日志: `journalctl --follow -u easynode-client` ```
--- > 查看客户端状态:`systemctl status easynode-client`
>
## 安全与说明 > 查看客户端日志: `journalctl --follow -u easynode-client`
>
> 本人非专业后端,此服务全凭兴趣开发. 由于知识受限,并不能保证没有漏洞的存在,生产服务器请慎重使用此服务. > 查看详细日志journalctl -xe
> 所有服务器信息相关接口已做`jwt鉴权` ---
> webssh功能需要的密钥信息全部保存在服务端服务器的`app\config\storage\ssh-record.json`中. 在保存ssh密钥信息到服务器时v1.0版本未做加密,`如果使用此功能最好带上https`, 并且保管好你的服务端服务器密码. ## 安全与说明
## 技术架构 > 本人非专业后端,此服务全凭兴趣开发. 由于知识受限,并不能保证没有漏洞的存在,生产服务器请慎重使用此服务.
> 待更新... > 所有服务器信息相关接口已做`jwt鉴权`
## v2.0功能方向 > webssh功能需要的密钥信息全部保存在服务端服务器的`app\config\storage\ssh-record.json`中. 在保存ssh密钥信息到服务器时v1.0版本未做加密,`如果使用此功能最好带上https`, 并且保管好你的服务端服务器密码.
- http传输加密 ## 技术架构
- 终端快捷键 > 待更新...
- 终端常用指令 ## v2.0功能方向
- 终端多tab支持 - http传输加密
- 终端主题 - 终端快捷键
- FTP文件系统 - 终端常用指令
- 支持完整功能的docker镜像 - 终端多tab支持
## 感谢 - 终端主题
[![Stargazers repo roster for @chaos-zhu/easynode](https://reporoster.com/stars/chaos-zhu/easynode)](https://github.com/chaos-zhu/easynode/stargazers) - FTP文件系统
[![Stargazers over time](https://starchart.cc/chaos-zhu/easynode.svg)](https://starchart.cc/chaos-zhu/easynode) - 支持完整功能的docker镜像
## License ## 感谢
[MIT](LICENSE). Copyright (c). [![Stargazers repo roster for @chaos-zhu/easynode](https://reporoster.com/stars/chaos-zhu/easynode)](https://github.com/chaos-zhu/easynode/stargazers)
[![Stargazers over time](https://starchart.cc/chaos-zhu/easynode.svg)](https://starchart.cc/chaos-zhu/easynode)
## License
[MIT](LICENSE). Copyright (c).