CDN
Go to file
2023-01-08 19:27:39 +01:00
agent Add files via upload 2022-07-29 15:18:36 +02:00
cdnfly Add files via upload 2022-07-27 20:41:45 +02:00
master Add files via upload 2022-07-20 18:41:01 +02:00
web Add files via upload 2022-07-26 22:50:49 +02:00
FAQ Create FAQ 2022-07-28 20:14:39 +02:00
master.sh Update master.sh 2022-07-29 14:13:47 +02:00
README Update README 2023-01-08 19:27:39 +01:00
README_EN Update README_EN 2022-07-28 19:18:26 +02:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

更新说明更新v5.1.13版本主控
感谢大表哥提供主控和节点服务器特此广告:

1.主控服务器
web目录为验证文件请自行搭建
0.0.0.0改成(自己搭建的验证服务器Ip)
vi /etc/hosts
0.0.0.0  auth.cdnfly.cn monitor.cdnfly.cn
0.0.0.0  auth.cdnfly.cn monitor.cdnfly.cn
2.主控
v5.1.11版本安装脚本:
curl -fsSL https://github.com/LoveesYe/cdnflydadao/raw/main/master.sh -o master.sh && chmod +x master.sh && ./master.sh --es-dir /home/es

新v5.1.13版本安装脚本:

curl -fsSL https://github.com/LoveesYe/cdnflydadao/raw/main/cdnfly/v5.1.13/master/master.sh -o master.sh && chmod +x master.sh && ./master.sh --es-dir /home/es

3.被控
v5.1.15版本安装脚本:
curl -fsSL -m 5 https://github.com/LoveesYe/cdnflydadao/raw/main/agent/agent.sh -o agent.sh || curl -m 5 https://github.com/LoveesYe/cdnflydadao/raw/main/agent/agent.sh -o agent.sh  && chmod +x agent.sh && ./agent.sh --master-ver v5.1.11 --master-ip ip --es-ip ip --es-pwd passwd

新v5.1.16版本安装脚本:
curl -fsSL -m 5 https://github.com/LoveesYe/cdnflydadao/raw/main/cdnfly/v5.1.13/agent/agent.sh -o agent.sh || curl -m 5 https://github.com/LoveesYe/cdnflydadao/raw/main/cdnfly/v5.1.13/agent/agent.sh -o agent.sh  && chmod +x agent.sh && ./agent.sh --master-ver v5.1.11 --master-ip ip --es-ip ip --es-pwd passwd

4.
已安装过官方版的开心方法:
执行以下命令完成开心:
wget https://github.com/LoveesYe/cdnflydadao/raw/main/cdnfly/api.py -O /opt/venv/lib/python2.7/site-packages/requests/api.py
supervisorctl -c /opt/cdnfly/master/conf/supervisord.conf reload

如果旧版本要升级,可以先更新自建云端的文件,然后执行“已安装过官方版的开心方法”这一部分的命令,最后在主控后台升级。

云端节点监控功能说明:

监控默认是使用云端服务器去请求CDN节点因此要保持云端和CDN节点之间的网络畅通。另外如果是用宝塔面板php不要安装bt_safe扩展否则无法使用tcp类型监控如果要用ping类型监控还需要允许exec函数。
支持多节点监控和官方一样要添加其它监控节点可以编辑config.php配置文件根据里面的注释说明添加。

修改为你自身安装节点,或使用默认的github节点安装
/opt/cdnfly/master/panel/src/views/system/update/index.html


主控登录地址为: http://主控IP/
管理员账号和密码: admin/cdnfly
普通用户账号和密码: jason/cdnfly

服务器配置要求

主控
1.内存 - 因为主控安装有Elasticsearch推荐16G及以上如果网站访问量比较小8G也行至少4G。
2.硬盘 - 建议固态硬盘, 同样考虑访问日志大小推荐100G及以上量小的话都可以。
3.CPU - CPU至少2核
4.开放80 88 9200端口
节点

1.内存 - 至少2G及以上
2.硬盘 - 根据网站缓存的大小配置
3.CPU - Nginx主要是跑CPU所以要想访问性能好CPU尽量好点。
4.开放80 443 5000端口
系统
支持Centos-7---Ubuntu-16.04

官方最新公共
尊敬的cdnfly用户:
目前发现登录安全漏洞,需要及时按照如下方法来临时修复。找-个只有你知道的域名,这个域名用于管理员登录。
如的域名不用带http://,路径为:系统管理--->系统设置--->用户相关,限制管理员只能从此域名登录


搬迁主控
注意下面的迁移步骤不包括迁移elasticsearch的数据
1 备份旧主控数据
在旧主控执行如下命令开始备份(注意:备份前会停止旧主控的进程)

cd /root
curl http://us.centos.bz/cdnfly/backup_master.sh -o backup_master.sh
chmod +x backup_master.sh
./backup_master.sh
这时候将在目录/root下打包生成cdn.sql.gz文件请把这个文件传输到新主控的/root/目录下可以使用scp命令命令如下

cd /root
scp cdn.sql.gz   root@新主控IP:/root/
2 在新机器安装好主控程序
首先登录cdnfly.cn更新授权为新主控ip并清空机器码
登录旧主控机器,执行如下命令查看版本:

grep VERSION_NAME /opt/cdnfly/master/conf/config.py
如下图版本为v4.1.6

登录新机器,执行如下命令安装:

curl http://dl.cdnfly.cn/cdnfly/master.sh -o master.sh
chmod +x master.sh
./master.sh --ver v4.1.60
其中v4.1.60替换成自己的主控版本号
3 登录新主控,恢复备份
执行如下命令恢复

cd /root
curl http://us.centos.bz/cdnfly/restore_master.sh -o restore_master.sh
chmod +x restore_master.sh
./restore_master.sh
从旧主控下载/opt/cdnfly/master/conf/config.py上传到新主控覆盖
然后在新主控初始化es,重启新主控
执行如下命令初始化:

cd /tmp
wget us.centos.bz/cdnfly/int_es.sh -O int_es.sh
chmod +x int_es.sh
./int_es.sh /home/es
supervisorctl restart all
其中/var/lib/elasticsearch为es的数据目录可以更改成其它的比如/home/es

4 替换节点里的主控IP
一个个登录节点,执行如下命令替换

new_master_ip="这里替换为新主控IP"
sed -i "s/ES_IP =.*/ES_IP = \"$new_master_ip\"/" /opt/cdnfly/agent/conf/config.py
sed -i "s/MASTER_IP.*/MASTER_IP = \"$new_master_ip\"/g" /opt/cdnfly/agent/conf/config.py
sed -i "s/hosts:.*/hosts: [\"$new_master_ip:9200\"]/" /opt/cdnfly/agent/conf/filebeat.yml
logs_path=`awk '/error_log/{print $2}'  /usr/local/openresty/nginx/conf/nginx.conf | sed 's/error.log//'`
if [[ `echo $logs_path | grep ^/ ` != ""  ]];then
    sed -i "s#.*access.log#    - $logs_path/access.log#" /opt/cdnfly/agent/conf/filebeat.yml
    sed -i "s#.*stream.log#    - $logs_path/stream.log#" /opt/cdnfly/agent/conf/filebeat.yml
fi
sed -i "s#http://.*:88#http://$new_master_ip:88#" /usr/local/openresty/nginx/conf/listen_80.conf /usr/local/openresty/nginx/conf/listen_other.conf 
ps aux | grep [/]usr/local/openresty/nginx/sbin/nginx | awk '{print $2}'  | xargs kill -HUP ||  true
supervisorctl restart filebeat
supervisorctl restart agent
supervisorctl restart task

主控更换ip后节点修改命令

new_master_ip="这里替换为主控IP"
(后台系统升级里查看es_pwd密码)
es_pwd="这里替换为es密码"

sed -i "s/ES_IP =.*/ES_IP = \"$new_master_ip\"/" /opt/cdnfly/agent/conf/config.py

sed -i "s/MASTER_IP.*/MASTER_IP = \"$new_master_ip\"/g" /opt/cdnfly/agent/conf/config.py

sed -i "s/hosts:.*/hosts: [\"$new_master_ip:9200\"]/" /opt/cdnfly/agent/conf/filebeat.yml

chattr -i /usr/local/openresty/nginx/conf/ /usr/local/openresty/nginx/conf/listen_80.conf /usr/local/openresty/nginx/conf/listen_other.conf

sed -i "s#http://.*:88#http://$new_master_ip:88#" /usr/local/openresty/nginx/conf/listen_80.conf /usr/local/openresty/nginx/conf/listen_other.conf

chattr +i /usr/local/openresty/nginx/conf/ /usr/local/openresty/nginx/conf/listen_80.conf /usr/local/openresty/nginx/conf/listen_other.conf

sed -i "s/ES_PWD =.*/ES_PWD = \"$es_pwd\"/" /opt/cdnfly/agent/conf/config.py

sed -i "s/password:.*/password: \"$es_pwd\"/" /opt/cdnfly/agent/conf/filebeat.yml

sed -i "s/agent-pwd:.*/agent-pwd: \"$es_pwd\"/" /opt/cdnfly/agent/conf/filebeat.yml

ps aux | grep [/]usr/local/openresty/nginx/sbin/nginx | awk '{print $2}'  | xargs kill -HUP ||  true

supervisorctl -c /opt/cdnfly/agent/conf/supervisord.conf restart filebeat

supervisorctl -c /opt/cdnfly/agent/conf/supervisord.conf restart agent

supervisorctl -c /opt/cdnfly/agent/conf/supervisord.conf restart task