AMH 社区首页
AMH社区 - 开放自由有价值的社区
[综合话题] AMH模块-limit_req2_nginx_module更新记录专贴-最后一次更新2013-05-26 |
|
---|---|
zzzzzza |
zzzzzza 发表于 2013-05-21 19:28:39
本帖最后由 zzzzzza 于 2013-5-26 15:54 编辑
*********************************2012-05-26更新****************************************** [attach]343[/attach] 之前的脚本因为没有考虑多个nginx第三方模块同时安装下的逻辑问题 请暂时先不要用与生产 感谢认真负责的@Amysql 新的脚本已经解决多个nginx模块共存的问题,并且修正了安装和卸载的逻辑问题 现在的脚本逻辑 只要你面板可以打开 安装和卸载模块能避免以下几种倒腾 1.倒腾nginx的编译 XXXXXXCCCCCOOOO 但是没有编译通过 却删除了 /usr/local/nginx/sbin/nginx 这个文件 2.经常手动编译 但是某次忘记先 nginx -V 获取参数 因为暂时只遇到了这两种 面板可以打开 但是因为安装本模块导致面板打不开的情况,暂时修正这两种 当然,本模块已经解决和AMHProxy的共存问题,不倒腾模块的兼容性和@Amysql发布的应该想同了 欢迎反馈 安装本模块后面板无法启动的案例 *******************************2012-05-25更新****************************************** [attach]338[/attach] 新参数测试地址: http://designow.info http://mineegg.com 前一个网址是jjabc的服务器 后一个是国内服务器 后者效果很明显 前者因为网络延迟的问题 不太明显 请勿DD 如果需要看探针 ping下这两个域名 后面加上 :8888/tz.php limit_req2_nginx_module-1.1 模块更新记录 因为首个版本没有理解模块的相关参数,默认参数很不合理,建议更新到1.1 1.更新防CC默认参数 Thanks @Lazyzhu 2.修正@amysql 老大提到的安装完未载入模块的问题 3.提高模块安装的兼容性 1.0版本 1.0版本对nginx.conf的处理,如果client_max_body_size 这一行有过修改 会漏处理 目前的参数: limit_req2_zone $binary_remote_addr $request_uri zone=one:3m rate=2r/s; three 做 return 444 处理limit_req2_zone $binary_remote_addr $uri zone=two:3m rate=20r/s; limit_req2_zone $uri zone=three:5m rate=200r/s; two rewrite refresh.html 这个模块现在的参数对一些有过多循环或者页面链接过多的vps和程序不太适合 php 有过多循环 请修改20->40 200->500 页面有过多链接 20->50 修改 /uar/local/nginx/conf/nginx.conf 修改后 amh nginx reload 下 下个版本的更新内容: 1.修正卸载上的一个逻辑错误(如果卸载已安装这个模块的amh面板 会多余的编译nginx)--其实已经加了一个判断了 2.通过一些简单判断,智能修改好模块参数,不同vps 不同页面 网络等 参数最好还是自定义 由于相关的文档有限,暂时只能我慢慢一点点尝试 3.可能会支持在面板上修改参数 @Amysql 咱们的卸载脚本是先卸载模块后删除nginx php等相关文件的 后期如果nginx模块出的多,卸载amh要编译好几次nginx了 要不咱先删nginx php mysql目录 后删模块? 其实目前来看直接删/root/amh/modules 目录就好了 不过考虑到以后某些模块的卸载不仅仅要删除这些 留下amh module uninstall也好,比如以后也许会有csf module v_pn module什么的 *****************************2012-05-23***************************更新 [attach]329[/attach] 附件已更新 5.23 22:35 改正了 对已存在的空间的 nginx 配置文件的修改 改正了 模块所带 html 模板的复制方式 略增大漏桶 2-->3 去除git方式安装模块 使用更快的zip方式 手动安装方法 解压文件到 /root/amh/modules 文件夹 确保 /root/amh/modules/limit_req2_nginx_module/ 文件夹是是三个文件 包括 AMHScript cc.conf refresh.html三个文件 感谢@amysql 的指导 话说 AMH面板团队到底有几个人哪 @smyz ? 目前模块参数 刷新3+ 次 rewrite 到html 3+ 次后 进入漏桶中 如果漏桶没存满 页面还是可以正常的 但是漏桶存满了 就返回 400 (这个理解如果有误 请指正) 目前的测试机在Vegas 联通用户 效果不佳 应该是网络延迟和丢包 这个模块理论上需要考虑ping 丢包 vps性能 php页面等综合方式 未来会增加参数的自定义和算法参考 测试环境 : JJABC vps run centos 5.X xen Paulvps vps run centos 6 openvz Ramnode vps run debian 6 kvm 另 电信通等国内vps 还是一样 先改dns后再安装 ********************************分割线********************************************** ***************2012-05-22*****更新 模块测试版已开发完成 http://72.46.154.19:8888/index.php?c=module&a=module_list&page=3 amh amh_password 用的是jjabc提供的vps 测试防恶意刷新地址 http://designow.info/tz.php 暂时固化了limit_req2_nginx_module的参数,等以后升级下模块,增加参数自定义 测试方式 F5 3+ 探针 当然要是你手快 也许可以看到 断开连接 该测试版limit_req2_nginx_module 使用到了git debian 6 centos 6 都可以简单安装 centos 5.X debain 5.X 未知 暂时是编译安装 等周末弄下系统的适配 就可以使用了 ***************分割线***************** 模块具体功能描述:limit_req2_nginx_module nginx模块系列,限制请求处理频率的模块。典型应用:限制来自单个IP地址的请求处理频率 完成开发需要的时间:一周 模块完成提交时间: 2013-05-26 这个模块也是nginx使用频率较高的模块 目前已完成脚本的install部分(参考的反代模块) 正在完成status uninstall的部分 有个问题想请教,amh面板中php进程数是如何读取的? 这个模块一些参数也许可以考虑集成到amh的php配置中 首个版本暂时固化参数 初定两个判断规则 one rewrite xxx.html two return 444 我也是小菜 之前未有太多接触这个模块的配置 目前博客用的就是两条规则 效果不错,单IP的恶意刷新可以解决 多ip的访问暂未解决 未来考虑:增加判断来路域名 屏蔽来路域名或者user-agent等 做个比较强大的amh模块 另:目前我的几台测试机有1台是vswap 1台swap 都是openvz 观察发现两台vswap的小鸡安装apc扩展,php会出现502 观察错误日志,是socket连接上的问题? 2013/05/19 23:10:02 [crit] 31862#0: *215 connect() to unix:/tmp/php-cgi-xxx.sock failed (2: No such file or directory) while connecting to upstream, client: 223.167.xxx.xxx, server: xxx.com, request: "GET /tz.php HTTP/1.0", upstream: "fastcgi://unix:/tmp/php-cgi-xxx.sock:", host: "xxx.com" 在swap小鸡上安装并出错,vswap小鸡上目前使用xcache中2013/05/20 00:09:01 [crit] 31862#0: *239 connect() to unix:/tmp/php-cgi-xxx.sock failed (2: No such file or directory) while connecting to upstream, client: 223.167.xxx.xxx, server: xxx.com, request: "GET /tz.php HTTP/1.0", upstream: "fastcgi://unix:/tmp/php-cgi-xxx.sock:", host: "xxx.com" 2013/05/20 00:09:03 [crit] 31862#0: *239 connect() to unix:/tmp/php-cgi-xxx.sock failed (2: No such file or directory) while connecting to upstream, client: 223.167.xxx.xxx, server: xxx.com, request: "GET /tz.php HTTP/1.0", upstream: "fastcgi://unix:/tmp/php-cgi-xxx.sock:", host: "xxx.com" 2013/05/20 00:09:04 [crit] 31862#0: *239 connect() to unix:/tmp/php-cgi-xxx.sock failed (2: No such file or directory) while connecting to upstream, client: 223.167.xxx.xxx, server: xxx.com, request: "GET /tz.php HTTP/1.0", upstream: "fastcgi://unix:/tmp/php-cgi-xxx.sock:", host: "xxx.com" 两台小鸡都是openvz 新装amh 附件 limit_req2_nginx_module-1.0.tar.gz limit_req2_nginx_module-1.1.tar.gz AMHScript.zip
点赞,加油! (2分)
2013-05-21 19:28:39 1
|
nginx |
这个好,支持。:lol
回复
2013-05-21 20:17:22 2
|
amysql |
amh面板中php进程数是如何读取的?
你是说虚拟主机的php-fpm进程数还是? /usr/local/php/etc/fpm 这个目录有所有虚拟主机网站的php fpm配置文件。 http://amysql.com/bbs/post-111-1-1.htm 查看当前的php-fpm进程可以这样 ps aux | grep 'php-fpm' 后面那日志好像你跑的是探针? ------------- 楼主平台有账号了吗? 注册一账号。 发一工单,内容贴上这帖子的网址: http://amysql.com/bbs/post-397-1-1.htm 收到确认后就为你开通主机开发使用 :D
回复
2013-05-21 20:59:23 3
AMH面板 - 好用高效低占用、安全可靠极稳定 |
zzzzzza |
是每个域名对应的php进程数 amh面板 虚拟主机管理 里面那个设置php进程数的页面 似乎是读取了 /usr/local/php/etc/fpm/ 目录对应的php配置文件 也可以在面板上修改进程数 这里的读取php进程和修改是怎么实现的哪? 另 平台的地址是什么啊? 没找到? php出错的日志的确是探针 安装apc后运行探针报502 phpinfo也是如此 出现在vswap的小鸡上 这个我也不确定是什么问题 也许以后有空可以试试 如需要vswap测试机 我的buyvm可以借您
回复
2013-05-21 21:53:04 4
|
amysql |
没错,面板是读主机php-fpm配置文件的各个参数。 命令: amh ls_vhost # 主机php-fpm配置列表 amh cat_php_fpm domain.com # 配置内容 然后匹配 $php_fpm_arr = array('/pm = (.*)/', '/pm\.min_spare_servers = (.*)/', '/pm\.start_servers = (.*)/', '/pm\.max_spare_servers = (.*)/', '/pm\.max_children = (.*)/'); $php_fpm_val = array(); foreach ($php_fpm_arr as $val) { preg_match($val, $php_fpm_conf, $host_php_fpm); $php_fpm_val[] = $host_php_fpm[1]; } 这是php。 修改的话有amh host edit命令。 可以看看面板主机下面的说明。 --------------- 或你也可以参考下面板上面的代码。 https://amysql-amh.googlecode.com/files/amh-3.2.tar.gz Model/hosts.php function edit_host() { .... } --------- 平台地址: http://www.JJABC.com ---------- 502 大多是php-fpm的问题。看进程还在么。 或你什么时候方便就pm机器我看看。 : )
回复
2013-05-21 22:23:09 5
|
zzzzzza |
嗯 谢谢啊 面板很强大 有好多要学的 ip pm您吧 进程我记得不在了 装了apc就启动不起来
回复
2013-05-21 22:35:32 6
|
amysql |
回复
2013-05-21 22:47:58 7
|
acclib |
支持楼主。。。不懂技术。。。纯支持~
回复
2013-05-22 10:30:12 8
|
zzzzzza |
已完成测试版
欢迎测试
回复
2013-05-22 20:00:46 9
|
amysql |
你现在是不是都统一写在nginx-host.conf主机的默认配置文件?
期待可以在对应虚拟主机设置不同参数的版本。 :D
回复
2013-05-22 20:25:01 10
|