当前位置: > Linux集群 > CDN >

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

时间:2014-07-20 19:51来源:linux.it.net.cn 作者:IT网
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 进行完整同步

开机启动那些很简单 就不多讲了
如果有部署方面的问题可以咨询下我们
(责任编辑:IT)
------分隔线----------------------------