配置NGINX支持中文URL 中文文件名或目录404无法访问的解决办法

配置NGINX支持中文URL 中文文件名或目录404无法访问的解决方法
NGINX不需要象apache那样要单独加载支持中文模块。
# cat /etc/sysconfig/i18n  LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16" 如果没有i18n则创建,重启系统。
服务器端字符集如下 # locale LANG=en_US.UTF-8 LC_CTYPE=”en_US.UTF-8″ LC_NUMERIC=”en_US.UTF-8″ LC_TIME=”en_US.UTF-8″ LC_COLLATE=”en_US.UTF-8″ LC_MONETARY=”en_US.UTF-8″ LC_MESSAGES=”en_US.UTF-8″ LC_PAPER=”en_US.UTF-8″ LC_NAME=”en_US.UTF-8″ LC_ADDRESS=”en_US.UTF-8″ LC_TELEPHONE=”en_US.UTF-8″ LC_MEASUREMENT=”en_US.UTF-8″ LC_IDENTIFICATION=”en_US.UTF-8″ LC_ALL=
在nginx.conf文件里配置的字符集也是utf-8 server { listen 80; server_name test.cn; root /data; index index.html index.jsp; charset utf-8; ……

客户端用的是secureCRT,用的字符集改为utf-8,用uft-8后再用rz上传文件,在ie下中文可以正常显示了。


 

 Apache可以使用mod_encoding支持中文目录和文件,LNMP下Nginx其实不需要安装额外的组件即可支持中文文件名或中文目录,下面说一下常见的CentOS、Debian、Ubuntu Linux发行版下的设置方法和可能会遇到的问题:

设置前可以执行:locale 看一下,如果显示是en_US.UTF-8,即是正常,不用按下面的步骤设置。如果显示其他编码需要按如下步骤设置。

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,如果报错,请在本文反馈。按以上步骤设置好后即可支持中文,可以上传中文的文件或中文的目录。




第七城市th7cn
WDCP 隐藏Nginx版本号教程
 
各大门户都隐藏nginx的版本号 他们如此做必有道理所以我们也学习吧

总共两步!

第一步:
先到 /www/wdlinux/nginx-1.4.1(我升级了版本)/conf 下 找到   nginx.conf   文件

然后打开找到 tcp_nodelay on;  在下面那一行添加    server_tokens     off;      即可

如:

keepalive_timeout  60;
    tcp_nodelay on;
server_tokens     off;  

这样就行了 (高手别笑,教程本来就是要方便简便)

第二步:
如果升级了新版本直接略过~~~~~

不过还是提下为好

还是在同样的目录 找到 fcgi.conf 打开

然后找到  fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

更改成:fastcgi_param SERVER_SOFTWARE nginx;       即可

然后重启WEB服务 或者 重启服务器吧