仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 439|回复: 8
打印 上一主题 下一主题

[CentOS(社区)] 来一发CentOS下Nginx完成url哀求不辨别巨细写

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:25:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
欢迎大家来到仓酷云论坛!假如你将跑在Windows下的项目(如:php)迁徙到Linux下,因为Windows操纵体系中,文件名是不辨别巨细写的;而Linux体系是巨细写敏感,会招致有些网页呈现404情形。
办理***有也许4种:
1、urlrewrite
2、perl模块
3、lua模块
4、ngx_http_lower_upper_case

第一种***合用于有划定规矩的大概较少的url必要转换,假如有大批并没有划定规矩的请用上面几种***
第2、3、四种***条件是Linux体系当地文件是小写,道理是将url哀求转换成小写来处置
perl模块不保举!Nginx官网已声名perl模块存在内存毛病的大概),***以下(《lnmp一键装置包》装置后实行上面):
  1. cdlnmp/src/nginx-1.4.4makeclean#扫除已编译出的nginx#/usr/local/nginx/sbin/nginx-V#猎取已编译参数nginxversion:nginx/1.4.4builtbygcc4.4.720120313(RedHat4.4.7-3)(GCC)TLSSNIsupportenabledconfigurearguments:--prefix=/usr/local/nginx--user=www--group=www--with-http_stub_status_module--with-http_ssl_module--with-http_flv_module--with-http_gzip_static_module--with-ld-opt=-ljemalloc
复制代码
在已编译的参数前面加上–with-http_perl_module,以下:
  1. ./configure--prefix=/usr/local/nginx--user=www--group=www--with-http_stub_status_module--with-http_ssl_module--with-http_flv_module--with-http_gzip_static_module--with-ld-opt=-ljemalloc--with-http_perl_module
复制代码
大概会报以下毛病:
  1. CantlocateExtUtils/Embed.pmin@INC(@INCcontains:/usr/local/lib64/perl5/usr/local/share/perl5/usr/lib64/perl5/vendor_perl/usr/share/perl5/vendor_perl/usr/lib64/perl5/usr/share/perl5.).BEGINfailed--compilationaborted../configure:error:perlmoduleExtUtils::Embedisrequired
复制代码
办理***(CentOS):
  1. yum-yinstallperl-develperl-ExtUtils-Embed
复制代码
再次编译:
  1. makeclean./configure--prefix=/usr/local/nginx--user=www--group=www--with-http_stub_status_module--with-http_ssl_module--with-http_flv_module--with-http_gzip_static_module--with-ld-opt=-ljemalloc--with-http_perl_modulemakecp/usr/local/nginx/sbin/nginx/usr/local/nginx/sbin/nginx$(date+%m%d)#备份nginx原文件servicenginxstopmakeinstall#间接装置,假如只掩盖nginx,会有报错/usr/local/nginx/sbin/nginx-t
复制代码
修正设置主文件(/usr/local/nginx/conf/nginx.conf):
  1. perl_set$urlsub{my$r=shift;my$re=lc($r->uri);return$re;};
复制代码
修正假造主机设置文件(如:/usr/local/nginx/conf/vhost/demo.linuxeye.com.conf):
  1. if($uri~[A-Z]){rewrite^(.*)$$urllast;}
复制代码
lua模块(保举!)
lua-nginx-module来自信牛agentzh的开源项目,在Nginx中嵌进Lua言语,使之能够撑持壮大Lua语法,以下:
  1. cdlnmp/srcwgethttp://luajit.org/download/LuaJIT-2.0.2.tar.gzwgethttps://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz#ngx_devel_kitwgethttps://github.com/chaoslawful/lua-nginx-module/archive/v0.9.2.tar.gz#nginx_lua_moduletarxzfLuaJIT-2.0.2.tar.gztarxzfv0.2.19.tar.gztarxzfv0.9.2.tar.gzcdLuaJIT-2.0.2make&&makeinstallexportLUAJIT_LIB=/usr/local/libexportLUAJIT_INC=/usr/local/include/luajit-2.0
复制代码
  1. cdnginx-1.4.4makeclean#扫除已编译出的nginx#/usr/local/nginx/sbin/nginx-V#猎取已编译参数nginxversion:nginx/1.4.4builtbygcc4.4.720120313(RedHat4.4.7-3)(GCC)TLSSNIsupportenabledconfigurearguments:--prefix=/usr/local/nginx--user=www--group=www--with-http_stub_status_module--with-http_ssl_module--with-http_flv_module--with-http_gzip_static_module--with-ld-opt=-ljemalloc
复制代码
从头编译Nginx:
  1. ./configure--prefix=/usr/local/nginx--user=www--group=www--with-http_stub_status_module--with-http_ssl_module--with-http_flv_module--with-http_gzip_static_module--with-ld-opt=-ljemalloc--add-module=../lua-nginx-module-0.9.2--add-module=../ngx_devel_kit-0.2.19makecp/usr/local/nginx/sbin/nginx/usr/local/nginx/sbin/nginx$(date+%m%d)#备份nginx原文件servicenginxstopmakeinstall#间接装置,假如只掩盖nginx,大概会报错ldconfig#从头读取库文件,不然报错/usr/local/nginx/sbin/nginx-t
复制代码
修正设置文件(如:/usr/local/nginx/conf/vhost/demo.linuxeye.com.conf):
  1. ./configure--prefix=/usr/local/nginx--user=www--group=www--with-http_stub_status_module--with-http_ssl_module--with-http_flv_module--with-http_gzip_static_module--with-ld-opt=-ljemalloc--with-http_perl_module0
复制代码
ngx_http_lower_upper_case模块
参考:https://github.com/replay/ngx_http_lower_upper_case

如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
分手快乐 该用户已被删除
沙发
发表于 2015-1-16 17:52:44 | 只看该作者

来一发CentOS下Nginx完成url哀求不辨别巨细写

一些显而易见的小错误还是用vi改正比较方便。以后的大一点的程序就得在Linux下调试了,因为有的头文件在VC里面说找不到。?
飘灵儿 该用户已被删除
板凳
发表于 2015-1-23 22:37:06 | 只看该作者
Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。
谁可相欹 该用户已被删除
地板
发表于 2015-1-31 21:57:02 | 只看该作者
在学习linux的工程中,linux学习方法有很多种,这里是小编的学习心得,给大家拿出来分享一下。
山那边是海 该用户已被删除
5#
发表于 2015-2-7 03:30:23 | 只看该作者
了解Linux的网络安全,系统的安全,用户的安全等。安全对于每位用户,管理员来说是非常重要的。
精灵巫婆 该用户已被删除
6#
发表于 2015-2-20 16:49:01 | 只看该作者
一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。
若相依 该用户已被删除
7#
发表于 2015-3-6 19:24:08 | 只看该作者
即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。
柔情似水 该用户已被删除
8#
发表于 2015-3-13 08:08:35 | 只看该作者
然我们对Linux的学习首先是通过对它的产生,发展,到今天仍然在不断完善开始的。
金色的骷髅 该用户已被删除
9#
发表于 2015-3-20 17:20:29 | 只看该作者
最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-25 10:54

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表