web可视化管理面板,支持多台服务器管理。
iptables转发优点不做介绍,缺点是配置复杂容易出错。使用本文教程可轻松驾驭。
前排感谢:黑店-良辰(taoluyun.cc)、逗逼(doubibackup.com)
运行环境:前端推荐nginx+php7+mysql5;后端推荐centos7(本教程仅基于centos7)
前端部署(面板)
下载源代码文件 rules-panel-master.zip
解压后上传Mater文件至网站根目录
并将public设置为根目录
设置如下伪静态规则
location /{ if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 last; break; } }
设置cron定时任务 https://你的网址/cron
(5分钟一次)
导入数据库(test.sql)数据库配置文件app/config.php 默认用户名密码为:admin 123456
至此,前端安装完毕。
后端安装-NodeJS版(此版本不推荐使用,建议使用Golang版)
作者重写了后端,此版本开源。新版后端不开源但性能更优,您可自行选择安装。文章底部有新版教程。
安装后端前需要在面板添加后端服务器
获取key后面对接会用
安装nodejs最新版(centos)
yum install epel-* -y
yum install nodejs -y
npm install n -g
n latest
npm install pm2 -g
nodejs和pm2安装结束
设置pm2开机自启
pm2 startup
新建文件夹iptables_forward并切换至该文件夹
mkdir iptables_forward
cd iptables_forward
下载配置文件
wget https://raw.githubusercontent.com/Git-Lofter/rules-panel/master/Slave/app.js
wget https://raw.githubusercontent.com/Git-Lofter/rules-panel/master/Slave/package.json
编辑app.js并修改以下三处 vi app.js
const master_url = "https://baidu.com" #填写前端地址
const slave_key = '123456'; #填写节点key
const nic_ip = '1.1.1.1'; #主网卡上的IP(如果主网卡IP=公网IP时,当IP变动,需更新此处IP,并且重启本进程!!!)
*Mater URL是主控的网址
*key是主控添加服务器后生成的
*主网卡IP查看方法:ip addr
然后在该文件夹下执行
npm install
安装iptables转发(逗比转发脚本)
wget http://ftp.inwang.net/iptables-pf.sh && chmod +x iptables-pf.sh
执行iptables转发脚本,执行第一个选项安装iptables
启动/开机自启
pm2 start app.js
pm2 save
重启服务器
reboot
到此安装结,前往前端将服务器分配给自己
可以愉快使用了。
其他命令
pm2 list
#查询pm2 logs 0
#查询日志pm2 stop 0
#暂停pm2 flush
#清除日志
错误分析
提示文件写入失败:chown www 网站目录 -R
添加完服务器却找不到:给用户分配权限
如果你的小鸡是NAT,app.js里的ip应该为内网ip
被控端部署-Golang版(推荐):
代码和执行逻辑重构,大幅降低CPU占用情况,但是不开放源代码,仅提供编译好的二进制程序
本程序会接管iptables的NAT规则,如果您不熟练iptables,请不要使用其他基于iptables的脚本!!!
开启转发(此处为逗比脚本):
wget http://ftp.taoluyun.cc/iptables-pf.sh && chmod +x iptables-pf.sh
然后执行
./iptables-pf.sh
执行选项1安装iptables
清空本地iptables规则(如果你是从nodejs被控端换过来,也必须执行此命令)
iptables -F
iptables -t nat -F
保存防火墙
CENTOS执行:
service iptables save
下载被控文件:
wget https://github.com/Git-Lofter/rules-panel/raw/master/Slave/Go/ip_table && chmod +x ip_table
设定定时任务:
crontab -e
输入以下内容,
*/5 * * * * . /etc/profile;/root/ip_table 密钥 本地IP https://前端网址/api
示例
*/5 * * * * . /etc/profile;/root/ip_table key123 10.0.0.4 https://baidu.com/api
参数说明:
*10.0.0.4 为主网卡上的IP,查看方法:ip addr
如果您的IP为公网IP,并且是动态IP,当IP变动时需要修改此处
*https://baidu.com/api 为您的主控URI,请自行替换为您的域名
小尾巴
项目地址:https://github.com/Git-Lofter/rules-panel
面板收费0.01元/月,请前往黑店购买-->taoluyun.cc
不购买并不影响使用,但影响颜值。所以,请购买!
已有 2 条评论
感谢大佬的教程,正愁买了授权不会搭建呐,感谢!!!
这个是干嘛的