一.当前环境:
操作系统:RHEL5.2 32bit
内核版本:2.6.18-92.el5
二.服务类型:samba+vsftp+nginx
samba服务作为windows系统与linux系统文件共享的主要途径,主要用于大文件的上传服务器
vsftp服务作为某个部门内的文件存储,主要是小文件,上传方便,安全性高
nginx服务作为web服务,用于文件的共享下载,支持迅雷下载,支持用户安全控制访问
三.各个文件系统与操作系统的字符集:
操作系统字符集:# cat /etc/sysconfig/i18n GBK支持中文
LANG="zh_CN.GBK"
LANGUAGE="zh_CN.GBK:zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
samba字符集: 默认为连接服务器的操作系统自带字符集,比如windows为utf-8;可以在服务器上设定
vsftp字符集: 默认为GBK,无法改变
nginx字符集: 可以修改某个目录要显示的字符集
四.为保证各个文件系统字符集统一,设定服务器
1.操作系统无需改变
2.设定samba服务器
# vim /etc/samba/smb.conf
在[global]下面添加
unix charset = cp936
cp936就是指系统里第936号编码格式,也就是GBK。指连接samba服务器的客户端采用编码为GB2312
CP936是GBK,GB2312是GBK的真子集。
在WIndows的控制面板,选区域与语言选项->高级,Code Page里面就有
936对应GBK。
3.vsftpd无需改变
4.设定nginx
# vim /usr/local/nginx/conf/nginx.conf
location /service/ {
charset GB2312; ###support vsftpd
root /file_server/targtime/;
index index.html index.htm;
auth_basic "Targtime-Service-Center-Department";
auth_basic_user_file /usr/local/nginx/conf/htpasswd.conf;
}
========================
如果只有nginx与samba,并且samba服务器上没有添加unix charset = cp936 选项,则nginx的显示编码为charset utf-8;
但是在服务器命令中显示的是乱码。
阅读(5647) | 评论(0) | 转发(0) |