NGINX做静态文件下载服务器


 

ubuntu14.04 安装NGINX
 
  1. Add the following line to /etc/apt/sources.list:
    deb https://nginx.org/packages/ubuntu/ trusty nginx
  2. Install GPG key of the repository:
    
    # wget https://nginx.org/keys/nginx_signing.key
    # sudo apt-key add nginx_signing.key
    
  3. Update the package index:
    # sudo apt-get update
  4. Install nginx deb package:
    # sudo apt-get install nginx -y
修改配置文件

sendfile on;

tcp_nopush on;

 

 

server {
listen 9000; #端口
server_name localhost; #服务名
charset utf-8; # 避免中文乱码

#charset gbk,utf-8,gb2312,gb18030 可以实现多种编码识别

location / {

root /oa/files; #显示的根索引目录,注意这里要改成你自己的,目录要存在 

autoindex on; #开启索引功能
autoindex_exact_size off; # 关闭计算文件确切大小(单位bytes),只显示大概大小(单位kb、mb、gb)
autoindex_localtime on; # 显示本机时间而非 GMT 时间
}
}

 

nginx修改字符编码不生效

回复 收藏

问题描述:

网站访问时,并不能正常显示汉字,而是很多问号,如下图

乱码.png

这种问题一看就是字符集不对。 在IE浏览器下打开此站点,然后点击右键,把字符集修改为gbk,则显示正常,这样肯定是不行的,总不能让所有用户自己去设置浏览器吧。 所以还得从服务端去入手。

先curl测试:

HTTP/1.1 200 OK

Server: nginxDate: Wed, 19 Jul 2017 08:32:56 GMT

Content-Type: text/html; charset=UTF-8

Connection: keep-aliveVary: Accept-Encoding

X-Powered-By: PHP/5.6.30

 

发现charset为UTF-8,只要把它修改为gbk即可。 所以修改虚拟主机配置文件,在里面增加一行

charset=gbk;

重启nginx服务后,问题依旧。但curl一个静态文件字符编码变为了gbk,所以怀疑到了php设置。

/usr/local/php/bin/php -i |grep charset

结果如下:

default_charset => UTF-8 => UTF-8

打开php配置文件 /usr/local/php/etc/php.ini 搜索charset,的确有这样的配置:

default_charset = "UTF-8"

把它改为

default_charset = ""

再重启php-fpm服务 

/etc/init.d/php-fpm restart

再次curl测试,结果正常了。浏览器的页面也正常了。

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM