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