Nginx限制ip连接数,Nginx限制并发,同一IP,Nginx怎么限制流量/限制带宽?

nginx 限制ip并发数,也是说限制同一个ip同时连接服务器的数量。如何Nginx限制同一个ip的连接数,限制并发数目,限制流量/限制带宽? 通过下面nginx模块的使用,我们可以设置一旦并发链接数超过我们的设置,将返回503错误给对方。这样可以非常有效的防止CC攻击。在配合 iptables防火墙,基本上CC攻击就可以无视了。Nginx限制ip链接数,Nginx如何限制并发数,同1个IP,nginx怎么限制流量/限制带宽?请看下文:

nginx 限制ip并发数,nginx限制IP链接数的范例参考:

Continue reading “Nginx限制ip连接数,Nginx限制并发,同一IP,Nginx怎么限制流量/限制带宽?”

相关:

  • nginx 限制流量
  • nginx post 限制
  • nginx PHP 限制并发
  • nginx ip 限流
  • leavingbza
  • hardeyg
  • good44v
  • GC3K
  • directadmin限制带宽
  • 限制单IP带宽 nginx

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

NGINX 做CDN的 流量统计分析方案和思路

NGINX 做CDN里的流量统计分析 方案

在Nginx配置文件里 增加一个日志格式
记录 Status Code 和Send字节数
200 11111

使用脚本 将日志每3小时定时切割
在使用相关同步工具 将日志文件同步到主控服务器
不同节点命名为 域名_BW_Node1-10_date.log
(这样的好处是便于不同的节点流量负载做统计)

使用AWK 将日志文件的第二列 相加 获得发送的总流量
也可以过滤掉404类状态 仅保留200 301状态的流量

将不同节点同步过来的日志文件
在主控服务器进行相加并且写入数据数据库
如果要RRD tool绘制流量时间段图表
需要每个时间段都要处理一次 比如一小时
做个cronjob任务 自动处理即可

相关:

  • nginx cdn
  • cdn source code nginx
  • nginx统计带宽

单客户的静态文件CDN部署规划

应一个客户的需求
做个规划 将于近期开始协助部署
单客户的静态文件CDN部署规划

服务器需求 最低2+
Master主控 数据源
Node+N 访问节点

主控部署
Linux NGINX FTP MYSQL
被控部署+N
Linux NGINX FTP

考虑DNS稳定性 一般建议使用DNSPOD
如果客户未决定 投入2+高稳定与安全的硬件设备作为DNS专用服务器
不推荐自建 否则因DNS稳定性以及安全性,可能会影响主机软件的品牌服务质量与口碑

技术规划
1. 主控作为数据源 需保证高稳定性
建议客户使用我们的新加坡数据中心作为主源 备用使用我们美国洛杉矶数据中心
主要用于客户使用FTP 上传数据 比如图片 CSS JS等文件
考虑扩容以及后续的升级成本
FTP软件使用MYSQL存储数据 包括用户名以及访问日志等等记录 便于管理
使用FTP同步解决文件权限和安全隐患等问题
虽然sync也可以 但是考虑客户后续维护与管理成本 还是建议使用FTP方式
为保证安全性 主控不提供外部WEB访问

2. 被控端
考虑扩容 被控端使用集群方式管理
即主控端输入IP 信息 自动采集SSHKEY
自动部署 同步安装软件 自动安装 自动编译
部署完成后 获得KEY 主控端输入 即被控添加完成
当主控端有文件更新时 自动同步至所有被控的数据源节点
增加脚本客户可手工推送 cronjob定时建议是每5分钟检查同步

考虑客户后续如果升级为动态CDN 反向代理等的成本 多用户等等
采用FTP方式会好些

技术方面会涉及很多 只能慢慢调优和做好压力测试

相关:

  • stonefru

Posts navigation

1 2
Scroll to top