Linux教程之一个交换成绩仓酷云
要明白学好linux不是一件一蹴而就的事,一定要能坚持使用它,特别是在使用初期。明天碰着一个交换成绩:必要把全体接口中呈现的一个链接改成另外一个链接。固然链接地点是保留在数据库中的,可是因为某些缘故原由,不克不及间接修正数据库中的内容,只能在衬着了局的时分再举行交换。
假如有很好的逻辑封装的话,这个成绩并非甚么难事儿,可恰好代码一团乱,弄不分明究竟哪些接口必要修正。我本盘算依托蛮力挨个文件查,但试了试发明事情量其实太年夜了,没举措只能想一想其余招儿。
最初找到的招儿就是「tcpdump」,经由过程它能够间接过滤服务器衬着的内容:
shell>tcpdump-ieth0srcport80-l-s0-w-|strings|grep-B100www.foo.com由于会见量年夜,以是经由过程一段工夫的采样,就能够捕获到尽年夜部分必要交换的内容。
不外仅仅如许还不敷,由于固然我们过滤出了有成绩的内容,可是我们其实不晓得其对应的地点是甚么,以是我们必要想举措把地点放到呼应了局里往。
假如用PHP的话,能够借助「auto_prepend_file」为一切的PHP呼应增添一个头:
<?phpheader(X-Request-URI:.$_SERVER);?>假如用Nginx的话,能够借助「add_header」为一切的呼应增添一个头:
http{add_headerX-Request-URI$request_uri;}有了这些展垫事情,再用「tcpdump」过滤内容的时分,就可以直不雅的看到地点了:
HTTP/1.1200OKServer:nginxDate:Fri,22Mar201307:50:39GMTContent-Type:text/htmlTransfer-Encoding:chunkedConnection:closeX-Powered-By:PHPX-Request-URI:<URI>找到了地点,剩下的交换就复杂了,就未几说了。这个成绩其实不难,不外假如选错了办法,那末泯灭的工夫大概会多良多,可见即使是复杂的成绩也值得深图远虑。
BTW:Nginx有一个「Substitution」模块能完成交换,但对本例而言用它有点过了。
功能实在太强了,在配合exec参数或者通过管道重定向到xargs命令和grep命令,可以完成非常复杂的操作,如果同样的操作用图形界面的工具来完成,恐怕要多花十几陪的时间。 学习Linux应具备的。[书籍+网络资源] 请问谁有Linux的学习心得的吗?简单的说说? Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。 Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。 另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。 对于英语不是很好的读者红旗 Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些Linux版本的免费下载,这里要说的是并不适合Linux初学者。 Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。 目前全球有超过一百多个Linux发行版本,在国内也能找到十几个常见版本。如何选择请根据你的需求和能力,RedhatLinux和DebianLinux是网络管理员的理想选择。 众所周知,目前windows操作系统是主流,在以后相当长的时间内不会有太大的改变,其方便友好的图形界面吸引了众多的用户。 编程学习及开发,Linux是免费,开源的操作系统,并且可开发工具相当多,如果您支持自由软件,一定要同广大热爱自由软件人士一同为其不懈努力。
页:
[1]