说到rewrite重写已经是众所周知的了,可是这里不光纯是rewrite,而是将uri改写玉成部小写。这要归责于公司的汗青遗留问题,因为公司要慢慢从windows太过到linux,要一下子全部过渡已往是不现实的,因为不只仅是架构,尚有web应用措施代码重构。由于公司流量剧增,iis已经显得有些吃力,甚至呈现错误,并且nginx的呈现改变了web,所以我们规划陈设nginx处事器,可是由于其时是用asp开拓的基于iis的web应用(我说的是静态文件,而非asp动态文件,asp在linux上运行也不配套啊,呵呵),,所以没思量文件和目次巨细写问题,以至于变成今天之祸。假如将措施迁移到linux里nginx上,会呈现404,有些文件或目次无法会见,这显得方案不完美,这种环境下需要用到第三方nginx模块Lower Upper Case
架构如下:
192.168.18.249 windows iis asp
192.168.18.240 nginx1 前端
192.168.18.241 nginx2 后端,安排静态文件
1、筹备事情
在nginx运行前我们需要拷贝文件,把windows处事器上的静态文件拷贝到linux处事器上,同时将文件和目次全部转换为小写,可以按如下要领做:
将windows方针目次共享,在linux下mount,(在192.168.18.241上操纵)如:
[[email protected] ~]# mount -o username=username,password=pwd //192.168.18.249/c/tmp/webroot /mnt
开始拷贝
[[email protected] ~]# find /mnt/ | xargs -n1|while read s_name
do
d_name=$(echo /data/webroot/${s_name#/mnt