首页 > 编程知识 正文

nginx搭建文件上传服务器,nginx服务器搭建

时间:2023-05-04 19:29:37 阅读:59985 作者:2009

将运行在Windows下的项目(如php )迁移到Linux下时,由于Windows操作系统不区分文件名大小写,因此Linux系统对大小写敏感,一些网页可能会出现404。

解决方法大致有四种:

1、网址重写

2、perl模块

3、lua模块

4、ngx_http_lower_upper_case

第一种方法是应用于具有规则的url或较少的url需要转换。 如果有很多没有规则的url,请使用以下几种方法

二、三、四种方法假设Linux系统本地文件为小写,原理是将url请求转换为小写处理

perl模块(不推荐! Nginx官网声称perl模块可能存在内存漏洞。 (安装《lnmp一键安装包》后执行以下操作) :

cdlnmp/src/nginx-1.4.4

清除已编译的nginx

获取#/usr/local/nginx/sbin/nginx-v #已编译的参数

nginx版本: nginx/1.4.4

builtbygcc4.4. 720120313 (red hat4.4.7-3) (gcc )。

TLSSNIsupportenabled

配置协议3360-- prefix=/usr/local/nginx-- user=www-- group=www-- with-http _ stub _ status _

在编译的参数后添加--with-http_perl_module,如下所示:

./configure-- prefix=/usr/local/nginx-- user=www-- group=www-- with-http _ stub _ statu s _ modu e

- with-http _ SSL _ module-- with-http _ flv _ module-- with-http _ gzip _ static _ module-with-LD

--with-http_perl_module

可能会报告以下错误:

can ' tlocateextutils/embed.pmin @ Inc (Inc contains :/usr/local/lib 64/perl5/usr/local/share/perl5/

begin failed-- compilation aborted。

./configure : error : perlmoduleextutils 33603360 embedisrequired

解决方案(CentOS ) :

yum-yinstallperl-devel perl-extutils-embed

重新编译:

化妆清洁

./configure-- prefix=/usr/local/nginx-- user=www-- group=www-- with-http _ stub _ statu s _ modu e

- with-http _ SSL _ module-- with-http _ flv _ module-- with-http _ gzip _ static _ module-with-LD

--with-http_perl_module

化妆

备份CP/usr/local/nginx/sbin/nginx/usr/local/nginx/sbin/nginx $ # nginx中的原始文件

服务中心

makeinstall#如果直接安装而只覆盖nginx,则会发生错误

/usr/local/nginx/sbin/nginx-t

修改主文件/usr/local/nginx/conf/nginx.conf :

perl_set$url '

子{

my$r=shift;

my$re=LC($r-uri;

返回$ re;

}

';

修改虚拟主机的配置文件。 例如,/usr/local/nginx/conf/vhost/demo.Linux eye.com.conf :

if($uri([a-z] ) )。

Rewrite^(.*$$URLlast;

}

lua模块(推荐! )

lua-Nginx-module起源于寂寞的代理zh开源项目,它在nginx中内置了Lua语言,并支持强大的Lua语法,如下所示:

cdlnmp/src

wget 3358 Lua JIT.org/download/Lua JIT-2.0.2.tar.gz

wget 3359 github.com/simpl/ngx _ devel _ kit/archive/v0.2. 19.tar.gz # ngx _ devel _ kit

wget 3359 github.com/chaos lawful/Lua-nginx-module/archive/v0.9.2. tar.gz # nginx _ Lua _ modu le

tarxzfLuaJIT-2.0.2.tar.gz

tarxzfv0.2.19.tar.gz

tarxzfv0.9.2.tar.gz

cdLuaJIT-2.0.2

制造制造安装

exportluajit _ lib=/usr/local/lib

exportluajit _ Inc=/usr/local/include/Lua JIT-2.0

cdnginx-1.4.4

清除已编译的nginx

获取#/usr/local/nginx/sbin/nginx-v #已编译的参数

nginx版本: nginx/1.4.4

builtbygcc4.4. 720120313 (red hat4.4.7-3) (gcc )。

TLSSNIsupportenabled

配置协议3360-- prefix=/usr/local/nginx-- user=www-- group=www-- with-http _ stub _ status _

重新编译Nginx :

./configure-- prefix=/usr/local/nginx-- user=www-- group=www-- with-http _ stub _ statu s _ modu e

- with-http _ SSL _ module-- with-http _ flv _ module-- with-http _ gzip _ static _ module-with-LD

- add-module=./Lua-nginx-module-0.9.2-- add-module=./ngx _ devel _ kit-0.2.19

化妆

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。