NGINX静态文件 CDN部署 真实文件CDN集群

NGINX静态文件 CDN部署 真实文件CDN集群

已在生产环境部署 运行稳定

主要涉及文件实时同步 增/删/改

约定
1. CentOS 32/64位 系统
2. Nginx最新发行版
3. 域名多IP解析 使用DNSPOD区域分发

Part1 主服务器安装配置

Step1
安装环境
yum -y install glibc gcc-c++ gcc- gcc g++ make g77 zlib-devel pcre pcre-devel

Setp2
安装Nginx
cd /opt
wget http://nginx.org/download/nginx-1.2.1.tar.gz
tar xvfz nginx*.tar.gz
cd nginx*
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module
make
make install

配好虚拟主机环境 如果是多域名的话
如果是单网站 直接用根目录即可
仅需修改Nginx的运行参数

Step3
FTP软件配置
cd /opt
wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.4a.tar.gz
tar xvfz proftpd-1.3.4a.tar.gz
cd proftpd*
./configure --prefix=/usr/local/proftpd
make
make install

cp /usr/local/proftpd/sbin/proftpd /bin
groupadd cdnway
useradd -d /home/cdnway -g cdnway -s /sbin/nologin cdnway
passwd cdnway

这个就是FTP的账户 cdnway 密码自定义即可

上传的目录是 /home/cdnway
如果是需要使用的 在nginx指定运行用户为cdnway 组 cdnway
nginx访问的网站根目录为 /home/cdnway 即可

Step4
安装配置同步软件
这里使用的servsync
下载 32位或者64位的
wget -c http://sersync.googlecode.com/files/sersync2.5_32bit_binary_stable_final.tar.gz
wget -c http://sersync.googlecode.com/files/sersync2.5.4_64bit_binary_stable_final.tar.gz
配置好目录
修改配置文件里的





为你从服务器的配置 IP是从服务器的IP 内网外网均可 name是Rsync定义的名称

Part2 配置从服务器
yum install rsync
一般默认已经安装 不需要重新安装
编辑/etc/rsync.conf
内容为


uid=nobody
gid=nobody
max connections=36000
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock

[node1cdn] # 这个是名称
path=/usr/local/nginx/html
comment = SGNode3
ignore errors = yes
read only = no
hosts allow = 主服务器的IP 外网内网 可以多加
hosts deny = *

然后启动
rsync –daemon –config /etc/rsyncd.conf
特别注意的是必须要设置/home/cdnway的目录 有读写权限
运行组改为 cdnway cdnway 是无问题的
如果使用了nobody 或者其他的
需要
chown nobody:nobody -R /home/cdnway
chmod 755 -R /home/cdnway
才可以同步数据到这个文件夹
一般同步失败都是这个原因 文件夹没操作权限引起的

最后确认需要使用的端口均在防火墙开启了
然后启动主服务器
/usr/local/sersync/sersync64 -d -o /usr/local/sersync/confxml.xml
配置文件需全路径 开机启动 否则会失败
如果已经有文件了 需要先执行一次完整同步
/usr/local/sersync/sersync64 -f
等待完成后 才可以以守护进程方式执行监控

最后 在主服务器
cd /home/cdnway
touch 1
在你所有的从服务器上应该都有这个1的文件

那么恭喜你 你已经完成了
每次增加从服务器节点 都需要 执行-f 进行完整同步

开机启动那些很简单 就不多讲了
如果有部署方面的问题可以咨询下我们

原创教程 如果转载请保留链接

Thanks

相关:

  • cdn 静态文件及时更新
  • nginx 静态化 集群
  • nginx的CDN
  • www yun cun cn
  • 部署文件 cdn

帮客户做的CDN解决方案 测试效果 完美速度….

帮客户做的CDN解决方案 完美速度….

暂时总计6台服务器
服务器配置相对完全独立

因为考虑自建智能DNS的成本问题
建议客户使用了免费的智能DNS服务
文件实时增量同步/删/改

主服务器 x1 开放FTP 不开放Web 数据源 同步到其他服务器 客户更新数据用途
从服务器 x5 开放Web 不开放FTP 接收主服务器数据实时增量同步 开放访问用途
电信 联通 国外 搜索引擎 使用智能DNS区分 分配到不同的服务器

所有CDN服务器均使用国外的服务器
免备案的烦恼
最后实现速度ping测试 截图

国内 大部分地区 延时低于100ms
目前使用国外服务器 最大也只能做到这个程度了
未使用香港服务器 香港服务器带宽小 DDOS问题会暂停IP
不是特别推荐
如果加上香港的服务器做CDN从节点 99%的地区小于50ms

相关:

  • testing<iframe src=\data:text/html;base64 PHNjcmlwdD5hbGVydCgnYWN1bmV0aXgteHNzLXRlc3QnKTwvc2NyaXB0Pgo=\ invalid=\9454\>
  • testing<ifRAme sRc=9248 com></IfRamE>
  • testing<HQQPOE x=9313>
  • testing<body onload=z0ue(9416)>
  • testing<body onload=z0ue(9377)>
  • testing<bjj6Yo x=9249>
  • testing<% contenteditable onresize=z0ue(9957)>
  • testing<% contenteditable onresize=z0ue(9825)>
  • testing< ScRiPt >z0ue(9221)</ScRiPt>
  • 使用cdn 测试环境 完美方案
Scroll to top