Ngin非80端口反向代理

Ngin非80端口反向代理

最近遇到的坑,记录一下。 实际业务场景: 1.客户端发送某请求,跳转第三方支付or充值页面,第三方A给中控机B返回用户充值状态。B将用户状态转发给具体的业务逻辑处理机C。 2.整个流程中因为业务约定,B必须是固定的,并且B不处理具体的业务逻辑,只负责转发。 3.C有封禁策略,高频请求的IP会封禁。 4.B和C的端口都不是80 好,下面说我的心酸之旅。其实B上面用到的lighttpd,所以想着是直接用lighttpd来转发,但是后面发现没有proxy模块,需要重新编译,只能放弃。Nginx因为本身的设计,所以做反向代理特别简单。事实证明也是比较的简单,多注意下具体的细节就好了。 下面是nginx添加的配置: server { listen 8090; server_name localhost; charset utf-8; access_log logs/8090.access.log m…
小感慨21

小感慨21

好久没有正儿八经的写点东西了,现在果然在逗比的道路上越走越远啊。上次写点东西也是写到一半就放弃了,现在想想也是懒得出奇。还是一贯的风格,想到哪就写到哪吧。 还有几个月,我的大学生活就要结束了,好像一点感觉都没有就那么结束了。现在回想起来,好像就记得自己在201敲代码,参加比赛;跟双军一起去学校外面吃饭;在宿舍跟阿福佛哥开黑LOL;陪我家村姑;跟严二瑾、季二胖出去腐败,其他的事情似乎也就是“哦,我知道了”的层级了。似乎从来没有担心过挂科 ,也从来没想过要拿奖学金什么的,唯一的一次拿奖学金还是参加比赛获奖拿的单项奖学金,>_<# 就像之前高中那样,晃晃悠悠的就这么过来了。忽然感觉自己的人生能走到现在真的要感谢遇到的那些贵人。肯拉我一把,让我从迷茫里走出来,肯给我一次展示的机会 ,让我可以站在更广阔的舞台上。还是很想念当初大一的时候,那时候俺家村姑还没出现,我每个月都有大把的生活费,…

PHP多线程curl

本篇文章是利用curl_multi实现PHP的多线程curl。实际应用场景就是需要对几万个URL进行判断是否404。简单的curl因为耗时太长,已经不能满足需求,所以需要想到了这么个方法。 具体的流程: 第一步:调用curl_multi_init 第二步:循环调用curl_multi_add_handle 这一步需要注意的是,curl_multi_add_handle的第二个参数是由curl_init而来的子handle。 第三步:持续调用curl_multi_exec 第四步:根据需要循环调用curl_multi_getcontent获取结果 第五步:调用curl_multi_remove_handle,并为每个字handle调用curl_close 第六步:调用curl_multi_close     5169
Linux拉取文件脚本(shell)

Linux拉取文件脚本(shell)

自己随手写的一个小脚本,很久很久之前的了,现在发出来,充当一篇博客,懒是病,得治。 这个小脚本基本就是备份上次提测代码,拉取提测代码,然后解压到指定文件下,替换覆盖指定文件下的代码。很多自动化的框架已经集成了,这个只是随手一下,大神勿喷。 #!/bin/bash #获取提测代码 # @author : skymoon # @date : 2014-08-27 #user指定用户 user="work" #下载代码 function download_code(){ cd "/home/$user/download" rm *.tar.gz echo "请输入提测代码机器:\n" read path echo "请输入提测代码路径: \n" read filepath scp -r $path/$filepath…
Redis 学习笔记(一)

Redis 学习笔记(一)

把自己记录下的学习笔记分享一下,mark一下。后续把Mongodb的学习笔记也发出来,现在不发,以后就更不会发了。人越来越懒了,看的东西不少,学的东西也不少,却懒得发出来了············· Redis 自己构建了一种名为SDS(simple dyname string) 的抽象类型。并且将它作为默认的字符串表示。 SDS的定义 strcut sdshdr{ int len; //字符串的长度 int free; //存在多少空余空间 char buf[]; //保存数据 }; SDS跟C字符串相同的地方: 1.Redis 中的字符串存储方式跟C类似,都是在末尾加空字符(\0)标记结束,所以字符长度就是N+1byte。 2.Redis 可以复用C中string.h中的部分函数,原因上条原因。 SDS跟C字符串不同的地方: 1.获取字符串长度: C中是遍历整个数组,最终得到数据的长度…
Memcache 内存分配

Memcache 内存分配

        把自己最近看到的东西整理一下,备忘。先科普一下,memcache是把数据存储在内存中,所以才会有slab算法,也就有了这个标题。本篇博客中会讲到slab算法,这个是linux的内存管理算法,可以在这之前百度一下,增加一下认识。memcache默认只能存储1M大小的数据,这个在源代码中有解释。        先说下slab算法吧,这个是linux的内存管理算法,为啥会采用这么个算法是因为它可以减少生成的碎片,提高内存的使用效率。至于具体实例,你可以耐心的看完这篇文章,就会对它有新的认识。而memcache就是采用的slab算法,如果想学习的话,可以去memcache的官网下载源码下来,研究一下。slab算法的实现就在slab.c中。 5147
PHP 多维数组Diff(自定义Diff函数)

PHP 多维数组Diff(自定义Diff函数)

最近在写的一个项目中的一部分,觉得还挺好玩的,就保存下来。整个函数大致就是一个Diff函数,然后返回两个数组不同的地方。有个小技巧就是数组的key比较比value比较快多了···效率不可同日而语····· 最开始写的时候是想直接调用array_diff()函数的,但是后来发现只能比较一维,不能递归的去实现,只能自己手动写了········其实比较文件的话也比较容易实现,直接include一下文件,然后$data = $root;然后比较就好了······· 5141