修改nginx的文件名的代码|nginx下中文文件名问题有一劳永逸的解决办法吗

修改nginx的文件名的代码|nginx下中文文件名问题有一劳永逸的解决办法吗的第1张示图

❶ nginx 文件配置 如何设置域名

1.路径: /etc/nginx/nginx.conf 和 /etc/nginx/conf.d,

其实只有/etc/nginx/nginx.conf 这一个配置文件,因为在nginx.conf中,其他配置文件都是可以利用 include 指令·引入的

部分配置文件:

server{listen 80;server_name test.net;root /var/www/test;#include none.conf;#error_page 404 /404.html;location ~ [^/].php(/|$){include fastcgi_params;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;client_max_body_size 500m;}location ~ .*.(gif|jpg|jpeg|png|bmp|swf)${expires 30d;}location ~ .*.(js|css)?${expires 12h;}#location = /HBLS.deb {# rewrite . /HBLS.deb;# default_type application/x-deb;#}access_log off;#access_log logs/lung.access.log;#error_log logs/lung.error.log debug;}

❷ 如何为nginx配置https

默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_mole参数,安装模块依赖于OpenSSL库和一些引用文件,通常这些文件并不在同一个软件包中。通常这个文件名类似libssl-dev。生成证书可以通过以下步骤生成一个简单的证书:首先,进入你想创建证书和私钥的目录,例如:$ cd /usr/local/nginx/conf创建服务器私钥,命令会让你输入一个口令:$ openssl genrsa -des3 -out server.key 1024创建签名请求的证书(CSR):$ openssl req -new -key server.key -out server.csr在加载SSL支持的Nginx并使用上述私钥时除去必须的口令:$ cp server.key server.key.org$ openssl rsa -in server.key.org -out server.key配置nginx最后标记证书使用上述私钥和CSR:$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt修改Nginx配置文件,让其包含新标记的证书和私钥:server {server_name YOUR_DOMAINNAME_HERE;listen 443;ssl on;ssl_certificate /usr/local/nginx/conf/server.crt;ssl_certificate_key /usr/local/nginx/conf/server.key;}重启nginx。这样就可以通过以下方式访问:https://YOUR_DOMAINNAME_HERE另外还可以加入如下代码实现80端口重定向到443IT人乐园server {listen 80;server_name ww.centos.bz;rewrite ^(.*) https://$server_name$1 permanent;}

❸ 如何让Nginx支持中文文件名具体设置步骤

首先得让你的系统有中语语言包:设置前可以执行:locale 看一下,如果显示是en_US.UTF-8,即是正常,不用按下面的步骤设置。如果显示其他编码需要按如下步骤设置。CentOS编辑/etc/sysconfig/i18n 文件,内容修改为:(可以使用vi、nano或winscp图形管理软件,依个人口味选择)LANG="en_US.UTF-8"SYSFONT="latarcyrheb-sun16"保存,重启系统。Debianapt-get install -y localesdpkg-reconfigure locales执行dpkg-reconfigure locales后会出现如下对话框:用向下的方向键找到en_US.UTF-8 UTF-8,按空格选择,再按回车键。再按向下键选择en_US.UTF-8,再按回车键确认,重启系统。Ubuntu编辑/etc/default/locale文件,修改内容为(没有的话创建一个):LANG="en_US.UTF-8"LANGUAGE="en_US:en"保存,再执行:locale-gen en_US en_US.UTF-8重启系统。执行:locale 看一下是否显示是en_US.UTF-8,如果报错,请在本文反馈。按以上步骤设置好后即可支持中文,可以上传中文的文件或中文的目录。在nginx.conf文件里配置的字符集也是utf-8server {listen 80;server_name test.cn;root /data;index index.html index.jsp;charset utf-8;……ay%PM'G+U0客户端用的是secureCRT,用的字符集改为utf-8,用uft-8后再用rz上传文件,在ie下中文可以正常显示了。注意:如果中文文件名是gb2312的需要转换成utf-8.(注是文件名,不是文件内容)。使用convmv转换,(如果找不到这个命令,光盘中有这个包 convmv-1.10-1.el5.noarch.rpm)convmv -fGBK -tUTF8 -r–notesttarget其中-f是源编码,-t是目标编码,-r是递归处理目录,–notest是不移动,实际上对文件进行改名(actually do rename the files),target是目标目录。其余参数可以参考man或者-h。如果是在没有更改编码前上传的文件,设置好后依然会是乱码的,建议重新上传一下文件。如果没有原来文件的备份可以使用下面命令进行转换:for f in `ls *.html` ; do mv $f `ls $f|iconv -f GBK -t UTF-8`; done 。其中*.html为要转换的文件类型,也可以更换为*.txt,*.rar 主要是看你是什么文件了,里面的GBK为源文件的编码类型,如果不知道源文件的编码类型可以执行:file -bi 文件名 。如果想在Windows下改的话其实也是可以的Editplus就有批量修改文件编码的功能,其他的软件可能也有此类功能,可以自行研究一下。如果是目录的话,目前好像是没有办法进行转换。还有一个问题,如果是html之类的网页文件,如果原来是网页内容是gb2312或类似的非utf-8的编码,先要将网页里面的charset 改为charset=utf-8,再转换文件编码,否则网页还是会乱码的。convmv 可以从http://j3e.de/linux/convmv 下载,wget http://j3e.de/linux/convmv/convmv-1.14.tar.gztar -zxvf convmv-1.14.tar.gzcd convmv-1.14make clean;make install;如:./convmv -f GB2312 -t UTF-8 -r –nosmart –notest userfiles/*.*以上表示 userfiles下的所有文件的文件名由GB2312转换为UTF-8对于文件内容的字符集转换可以使用iconv

❹ 如何让Nginx支持中文文件名

如果显示其他编码需要按如下步骤设置。 CentOS 编辑/etc/sysconfig/i18n 文件,内容修改为:(可以使用vi、nano或winscp图形管理软件,依个人口味选择) LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16" 保存,重启系统。 Debian apt-get install -y locales dpkg-reconfigure locales 执行dpkg-reconfigure locales后会出现如下对话框: 用向下的方向键找到en_US.UTF-8 UTF-8,按空格选择,再按回车键。 再按向下键选择en_US.UTF-8,再按回车键确认,重启系统。 Ubuntu 编辑/etc/default/locale文件,修改内容为(没有的话创建一个): LANG="en_US.UTF-8" LANGUAGE="en_US:en" 保存,再执行: locale-gen en_US en_US.UTF-8 重启系统。 执行:locale 看一下是否显示是en_US.UTF-8,如果报错,请在本文反馈。按以上步骤设置好后即可支持中文,可以上传中文的文件或中文的目录。 在nginx.conf文件里配置的字符集也是utf-8 server { listen 80; server_name test.cn; root /data; index index.html index.jsp; charset utf-8; …… ay%PM'G+U0 客户端用的是secureCRT,用的字符集改为utf-8,用uft-8后再用rz上传文件,在ie下中文可以正常显示了。 注意: 如果中文文件名是gb2312的需要转换成utf-8.(注是文件名,不是文件内容)。使用convmv转换,(如果找不到这个命令,光盘中有这个包 convmv-1.10-1.el5.noarch.rpm)convmv -fGBK -tUTF8 -r–notesttarget 其中-f是源编码,-t是目标编码,-r是递归处理目录,–notest是不移动,实际上对文件进行改名(actually do rename the files),target是目标目录。其余参数可以参考man或者-h。

❺ nginx 上载文件怎么重命名

通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题: 用nginx来做webserver的时,上传大文件时需要特别注意client_max_body_size这个参数,否则会中断在nginx的请求中,在php中是无法记录到访问的. 一般上传大文件流程: 首先修…

❻ linux/centos 6.5下的nginx配置文件怎么修改怎么退出,

就和来windows操作记事本一样了要退出 先 按下自 esc 退回到命令模式,在 输入 :q上面显示了 — insert —-这是插入模式要修改内容,先进入 insert 模式,修改要改的内容,然后按 esc 退回到 命令模式,按 :wq 写入退出即可

❼ 如何修改Nginx版本名称伪装任意web server

无论是作为Web服务器或其他类型程序的反向代理服务器,Nginx("engine x")都有着高性能且轻量级的优势。其特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现较好。这也使得Nginx在如今不管是存放在高配独立服务器上的大型的门户,还是存放在迷你64M内存VPS上的小型的个人博客,Nginx都在被广泛使用着。国内淘宝、新浪、网易、腾讯等都在使用。其中淘宝正是基于原作者的BSD-like协议,在其源代码基础上开发了Tengine,这暂且不表。今天我们来说说,如何修改Nginx其内部默认名称。这对安全或者装逼都是非常实用的。我们都知道一般Nginx有哪些内部名称展示,如有通过HTTP ResponseHeader中的Server、错误页的footer、FPM-FastCGI等。一般来说修改3个位置,一个是nginx.h、另一个是ngx_http_header_filter_mole.c、还有一个ngx_http_special_response.c。提示:以下修改需要在编译安装Nginx之前进行,修改之后再编译现在Web Server使用广泛,针对它的攻击也越来越多,Nginx这玩意出道时间也并不长,虽然国内很多门户网站都用它,小内存VPS用户也爱它,但是我可不想哪天它爆出了个惊天BUG,上次80sec公布的Nginx相关PHP FPM漏洞就是警示哦,倘若伪装了我的Nginx服务器,攻击者就不知道我使用的是何种Web Server,也就无从下手了。修改src/core/nginx.h(Nginx内部名称的)#define NGINX_VERSION "1.8.0"#define NGINX_VER "NGINX/" NGINX_VERSIONNGINX_VERSION是版本号,NGINX_VER是名称修改src/http/ngx_http_header_filter_mole.c(HTTP ResponseHeader)static char ngx_http_server_string[] = "Server: nginx" CRLF;修改src/http/ngx_http_special_response.c(修改错误页的底部Footer)static u_char ngx_http_error_tail[] ="<hr><center>nginx</center>" CRLF"</body>" CRLF"</html>" CRLF;为什么不修改安装后的Nginx Config下的fastcgi.conf呢?因为现在外部已经是无法了解我们的服务器名称,已经达到我们的目的了。而且我们常用的一些程序,可能会对你的前端(反向代理服务器)做判断,毕竟Nginx不同于Apache,无法动态规则。特别是Wordpress的缓存插件,大多会通过判断你是否Nginx,如果是的话,提醒你添加一些规则语句。这时fastcgi.conf就起作用的,其中的fastcgi_param SERVER_SOFTWAREnginx/$nginx_version;可以使得PHP与Nginx内部之间的互相了解。所以我的建议,还是不修改fastcgi.conf,当然你非要改,也可以的。

❽ nginx下中文文件名问题有一劳永逸的解决办法吗

其实,要解决nginx不支持pathinfo的问题,有两个解决思路,一是不使用pathinfo模式,二是修改nginx的配置文回件,使它支持pathinfo。为了使问题答简单化,我选择了第一种方式,因为就第二种方式,我查了很多资料,发现大家的方法不尽相同,有的还差别很大,容易造成误导,所以我选择从简出发,选择普通模式,虽然有一定的风险。当把index.php对应的前台代码修改完毕之后,发现前台基本正常,可是后台仍然出现重定向的问题。折腾了半天之后,我才想到看一下日志文件,原来是编辑器的问题,看来日志文件真的很重要,以前一直不重视。在config.php文件的第一行出现了输出.在sublime下,一般会为UTF-8文件添加BOM头,这个BOM头在window下通常是看不见的,可以通过其他的编辑器查看到,Linux下也可以直接看到,通常显示出来是一个乱码字符,把这个字符删除即可,或者简单一点,直接在第一行回车,再删除就可以了。到这里,后台基本可以访问了。

❾ 如何修改Nginx版本名称伪装任意web server

复制代码代码如下:scr/core/nginx.conf#define NGINX_VERSION "1.4.7"#define NGINX_VER "nginx/" NGINX_VERSION 修改为:(其实版本号也可以随意修改)复制代码代码如下:#define NGINX_VERSION "1.4.7"#define NGINX_VER "jdws/" NGINX_VERSION 其实修改上面一个大部分就会生效!!!复制代码代码如下:/src/http/ngx_http_header_filter_mole.c (HTTP ResponseHeader)static char ngx_http_server_string[] = "Server: nginx" CRLF; 修改为:复制代码代码如下:static char ngx_http_server_string[] = "Server: jdws" CRLF; /src/http/ngx_http_special_response.c static u_char ngx_http_error_tail[] ="<hr><center>nginx</center>" CRLF"</body>" CRLF"</html>" CRLF 修改为:复制代码代码如下:static u_char ngx_http_error_tail[] ="<hr><center>jdws</center>" CRLF"</body>" CRLF"</html>" CRLF

❿ 修改nginx.conf

location / { root html; 加到这里;}

未经允许不得转载:山九号 » 修改nginx的文件名的代码|nginx下中文文件名问题有一劳永逸的解决办法吗

赞 (0)