莫相离 发表于 2015-1-18 11:19:46

Linux编程:记我设置Nginx代办署理的遭受仓酷云

虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力。Linux是一个命令行组成的操作系统,精髓在命令行。
我一向以为本人的Nginx常识还算过得往,但是我错了,设置Nginx代办署理的遭受让我苦不胜言,即使云云,我仍是挣扎着纪录一二,以便让厥后者可以踩着我的脚印持续行进。
提及来十分复杂:某项目标搜刮功效晋级了,必要把哀求从旧的服务代办署理到新的服务下面往,个中有点儿纷歧样的中央是参数的传送情势产生的变更,例子以下:


[*]旧:http://www.old.com/search/lamp
[*]新:http://www.new.com/search?q=lamp
第一次实验:

location~^/search/(.+){proxy_passhttp://www.old.com/search?q=$1;}惋惜当测试的时分发明在毛病日记里呈现以下信息:
noresolverdefinedtoresolve…
也许意义是说没有设置resolver指令来剖析域名。我就奇异了:印象中之前用proxy_pass的时分没设置resolver也能事情啊?带着疑问搜刮了一下,发明这是一个老坑了,其缘故原由在于假如代办署理地点中包括变量的话,那末必需设置resolver指令!
第二次实验:

由于我不太喜好在Nginx设置文件里硬编码resolver指令,以是我想既然成绩呈现在变量身上,那末只需想举措把变量从代办署理地点中移除应当就能够了:
location~^/search/(.+){set$args$args&q=$1;proxy_passhttp://www.old.com/search;}惋惜当我重启Nginx的时分发明堕落了:
“proxy_pass”cannothaveURIpartinlocationgivenbyregularexpression,orinsidenamedlocation,orinside“if”statement,orinside“limit_except”block…
也许意义是说在以下情形下,proxy_pass指令不克不及包括URI,相干情形分离是:正则表达式location;定名location;if;limit_except。本例恰好用到了正则。
第三次实验:

既然URI的存在妨害了我们,那末就想举措从代办署理地点中移除它:
location~^/search/(.+){rewrite./search?q=$1break;proxy_passhttp://www.new.com;}事不外三,我想此次应当乐成了吧,惋惜适得其反,代办署理事后查询变量消散了!缘故原由是正则表达式location中的变量没法间接在rewrite指令中利用。

使用gcc或g++进行编译,使用gdb进行调试;

蒙在股里 发表于 2015-1-20 20:30:53

尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助.

若相依 发表于 2015-1-28 23:19:25

对我们学习操作系统有很大的帮助,加深我们对OS的理解。?

爱飞 发表于 2015-2-9 12:12:26

最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。

乐观 发表于 2015-2-10 09:18:51

感谢老师和同学们在学习上对我的帮助。

透明 发表于 2015-2-26 03:11:52

感谢老师和同学们在学习上对我的帮助。

海妖 发表于 2015-2-26 10:18:49

我学习Linux的心得体会 ,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。

小妖女 发表于 2015-3-8 13:25:45

我们自学,就这个循环的过程中,我们学习了基本操作,用vi,shell,模拟内存的分配过程等一些OS管理。

莫相离 发表于 2015-3-15 23:10:14

最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。

精灵巫婆 发表于 2015-3-22 17:56:07

众所周知,目前windows操作系统是主流,在以后相当长的时间内不会有太大的改变,其方便友好的图形界面吸引了众多的用户。
页: [1]
查看完整版本: Linux编程:记我设置Nginx代办署理的遭受仓酷云