Skip to content
 
 

Latest commit

 

History

142 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2025.9.16 - dns设置 支持管理huaweicloud域名 - 下一步计划删除dnsdun

2025.8.27 - v5.1.13版本ubuntu16.04主控已修改完毕,可以正常安装。

主控配置要求

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

节点配置要求

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

安装说明

1.主控验证服务器

web目录为验证文件,请自行搭建 0.0.0.0改成(自己搭建的验证服务器Ip)

nano /etc/hosts
0.0.0.0  auth.cdnfly.cn monitor.cdnfly.cn

伪静态

location / {
  if (!-e $request_filename){
    rewrite  ^(.*)$  /index.php/$1  last;   break;
  }
}

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/chrimast/cdnfly/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版本安装脚本:(修改 ip passwd 参数信息)

curl -fsSL -m 5 https://github.com/chrimast/cdnfly/raw/main/cdnfly/v5.1.13/agent/agent.sh -o agent.sh || curl -m 5 https://github.com/chrimast/cdnfly/raw/main/cdnfly/v5.1.13/agent/agent.sh -o agent.sh  && chmod +x agent.sh && ./agent.sh --master-ver v5.1.13 --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

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

官方最新公告

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

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

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

修改为你自身安装节点,或使用默认的github节点安装

/opt/cdnfly/master/panel/src/views/system/update/index.html

迁移主控

注意:下面的迁移步骤不包括迁移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

About

cdnfly

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages