存档

文章标签 ‘台湾vps’

vzquota : (error) Quota on syscall for id 189: Device or resource busy的解决方法(转)

2018年6月6日 没有评论

开启openvz虚拟机的时候总也失败,命令行启动提示错误如下:
vzctl start 189
Starting container …
vzquota : (error) Quota on syscall for id 156: Device or resource busy
vzquota : (error) Possible reasons:
vzquota : (error) – Container’s root is already mounted
vzquota : (error) – there are opened files inside Container’s private area
vzquota : (error) – your current working directory is inside Container’s
vzquota : (error) private area
vzquota : (error) Currently used file(s):
/vz/private/189/var/log
vzquota on failed [3]
————————————————–
最终解决方法如下:
[root@lxy conf]# lsof 2> /dev/null | egrep ‘/vz/root/189|/vz/private/189′
bash 786 root cwd DIR 8,3 4096 8192388 /vz/private/189/fs/root
[root@lxy ~]# ps auxfww |grep 786
root 786 0.0 0.0 2348 1344 pts/0 Ss+ 09:22 0:00 | \_ -bash
[root@lxy ~]# kill -s 9 786
[root@lxy ~]# vzctl start 189
Starting VE …
VE is mounted
Setup slm memory limit
Setup slm subgroup (default)
Setting devperms 20002 dev 0x7d00
Setup ioprio: 4
Adding port redirection to VE(1): 4643 8443
Adding IP address(es) to pool: 203.191.150.111
arpsend: 203.191.150.111 is detected on another computer : 00:13:d3:bf:1e:96
vz-net_add WARNING: arpsend -c 1 -w 1 -D -e 203.191.150.111 eth0 FAILED
Adding IP address(es): 203.191.150.111
arpsend: 203.191.150.111 is detected on another computer : 00:13:d3:bf:1e:96
vz-net_add WARNING: arpsend -c 1 -w 1 -D -e 203.191.150.111 eth0 FAILED
Hostname for VE set: localhost.localdomain
File resolv.conf was modified
VE start in progress…

Oracle安装错误ora-00922(缺少或无效选项)

2018年6月5日 没有评论

安装Oracle 11g R2的过程中,在新建数据库实例时出现了该错误,如果选择”忽略”就会出现ora-28000错误。
经网络查询验证,这是属于在前面配置管理员密码的时候,采用了数字开头的密码,Oracle貌似对此不支持,但当时不提示出错,晕倒!据说包含其他非法特殊字符也可能产生此问题。
记录一下,给自己备忘:
ORA-00922: 选项缺失或无效
错误原因:一般是语句的语法有问题。比如命名不对,关键字写错等等。对于非标准的命名,一般采用双引号来创建。
解决办法:
标识符命名规则:
1、必须以字母开始。
2、长度不能超过30个单字节字符。
3、只能包括A-Z,a-z,0-9,_,$和#。
4、不能在相同用户下建立两个同名的对象。
5、不能使用保留字和关键字

ORA-28000: 账户锁定

第一步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;
第二步:选择myjob,查看users;
第三步:选择system,右击点击“编辑”;
第四步:修改密码,把“帐户被锁住”的勾去掉;
第五步:点击“应用”再点击“关闭”;
第六步:重新登录就可以通过验证了;

Linux/BSD下修正磁盘的顺序编号(/dev/sdbX)(转)

2018年6月2日 没有评论

假设你现在新建一个分区在磁盘后面的区块,它的编号就应该是/dev/sdb1(假定是Primary分区,或者/dev/sda1什么的取决于第几个磁盘),好了,前面留下来的空白区域再建一个分区,结果区块前面的是/dev/sdb2,后面的反倒是/dev/sdb1了!!!强迫症患者不能忍!!!就像Windows下C、D、E、F盘错位变成了D、C、E、F一样不能忍啊!

解决办法很easy,借助fdisk这个强大的命令,各个BSD/Linux发行版都有的放心。以Fedora为例,终端下执行:

su -c ‘fdisk /dev/sdb’
x
f
w

x、f、w是进入fdisk后执行的指令,x是进入专家模式,f是修正磁盘序号,w写入分区信息并退出fdisk,别弄错了。最好不要在已经挂载的磁盘上执行,所以如果你要这样修改你的机器硬盘的话,建议从LiveCD启动来修正。

好了,强迫症患者心情舒畅了,/dev/sdb1和/dev/sdb2都领到了该有的位置。

P.S. 正因为这个序号容易变动,所以GRUB/GRUB2的配置文件中的分区强烈建议使用UUID而不是/dev/sdbX来表征!

CentOS下lv调整空间大小

2017年10月20日 没有评论

一、目的

在使用CentOS6.3版本linux系统的时候,发现根目录(/)的空间不是很充足,而其他目录空间有很大的空闲,所以本文主要是针对现在已有的空间进行调整。首先,先来查看一下系统的空间分配情况:

1
2
3
4
5
6
7
8
[root@CentOS-78 /]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/vg_centos-lv_root  
                       50G   14G   34G  30% /  
tmpfs                 1.9G     0  1.9G   0% /dev/shm  
/dev/sda1             485M   37M  423M   8% /boot  
/dev/mapper/vg_centos-lv_home  
                      404G  670M  382G   1% /home

下面的详细步骤部分将从vg_centos-lv_home分区下取出100G的空间添加到/vg_centos-lv_root分区上去。
二、详细步骤
1、卸载vg_centos-lv_home分区

1
2
3
4
5
6
7
8
9
10
11
12
[root@CentOS-78 /]# umount /home  
 
[root@CentOS-78 /]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/vg_centos-lv_root  
                       50G   14G   34G  30% /  
tmpfs                 1.9G     0  1.9G   0% /dev/shm  
/dev/sda1             485M   37M  423M   8% /boot  
 
[root@CentOS-78 /]# resize2fs -p /dev/mapper/vg_centos-lv_home 282G  
resize2fs 1.41.12 (17-May-2010)  
Please run 'e2fsck -f /dev/mapper/vg_centos-lv_home' first.

这一步设定vg_home-lv_home大小没有成功,系统提示我们先运行下面的命令,操作如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
[root@CentOS-78 /]# e2fsck -f /dev/mapper/vg_centos-lv_home  
e2fsck 1.41.12 (17-May-2010)  
Pass 1: Checking inodes, blocks, and sizes  
Pass 2: Checking directory structure  
Pass 3: Checking directory connectivity  
Pass 4: Checking reference counts  
Pass 5: Checking group summary information  
/dev/mapper/vg_centos-lv_home: 1386/26836992 files (0.9% non-contiguous), 1855856/107344896 blocks  
 
[root@CentOS-78 /]# resize2fs -p /dev/mapper/vg_centos-lv_home 282G  
resize2fs 1.41.12 (17-May-2010)  
Resizing the filesystem on /dev/mapper/vg_centos-lv_home to 73924608 (4k) blocks.  
Begin pass 2 (max = 43)  
Relocating blocks             XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  
Begin pass 3 (max = 3276)  
Scanning inode table          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  
Begin pass 4 (max = 266)  
Updating inode references     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  
The filesystem on /dev/mapper/vg_centos-lv_home is now 73924608 blocks long. 
 
[root@CentOS-78 /]# mount /home  
[root@CentOS-78 /]#  
[root@CentOS-78 /]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/vg_centos-lv_root  
                       50G   14G   34G  30% /  
tmpfs                 1.9G     0  1.9G   0% /dev/shm  
/dev/sda1             485M   37M  423M   8% /boot  
/dev/mapper/vg_centos-lv_home  
                      278G  663M  263G   1% /home  
[root@CentOS-78 /]#  
 
[root@CentOS-78 /]# lvreduce -L 282G /dev/mapper/vg_centos-lv_home  
  WARNING: Reducing active and open logical volume to 282.00 GiB  
  THIS MAY DESTROY YOUR DATA (filesystem etc.)  
Do you really want to reduce lv_home? [y/n]: y  
  Reducing logical volume lv_home to 282.00 GiB  
  Logical volume lv_home successfully resized  
[root@CentOS-78 /]#

查看一下lv目前的情况

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@CentOS-78 /]# vgdisplay  
  --- Volume group ---  
  VG Name               vg_centos  
  System ID  
  Format                lvm2  
  Metadata Areas        1  
  Metadata Sequence No  5  
  VG Access             read/write  
  VG Status             resizable  
  MAX LV                0  
  Cur LV                3  
  Open LV               3  
  Max PV                0  
  Cur PV                1  
  Act PV                1  
  VG Size               465.27 GiB  
  PE Size               4.00 MiB  
  Total PE              119109  
  Alloc PE / Size       86472 / 337.78 GiB  
  Free  PE / Size       32637 / 127.49 GiB  
  VG UUID               1k4ooN-RFV9-uyf1-uMYf-aERG-YaGs-ZNoSD6

Free PE / Size指定的应该是现在可在分配的空间。
4、增加vg_centos-lv_root分区的大小
将可用的空间添加到vg_centos-lv_root分区上面:

1
2
3
4
5
6
7
8
9
10
11
12
[root@CentOS-78 /]# lvextend -L +127.40G /dev/mapper/vg_centos-lv_root  
  Rounding up size to full physical extent 127.40 GiB  
  Extending logical volume lv_root to 177.40 GiB  
  Logical volume lv_root successfully resized  
[root@CentOS-78 /]#  
 
[root@CentOS-78 /]# resize2fs -p /dev/mapper/vg_centos-lv_root  
resize2fs 1.41.12 (17-May-2010)  
Filesystem at /dev/mapper/vg_centos-lv_root is mounted on /; on-line resizing required  
old desc_blocks = 4, new_desc_blocks = 12  
Performing an on-line resize of /dev/mapper/vg_centos-lv_root to 46504960 (4k) blocks.  
The filesystem on /dev/mapper/vg_centos-lv_root is now 46504960 blocks long.

5、再次查看分区大小

1
2
3
4
5
6
7
8
[root@CentOS-78 /]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/vg_centos-lv_root  
                      175G   14G  153G   9% /  
tmpfs                 1.9G     0  1.9G   0% /dev/shm  
/dev/sda1             485M   37M  423M   8% /boot  
/dev/mapper/vg_centos-lv_home  
                      278G  663M  263G   1% /home

我们发现vg_centos-lv_root分区的空间已经增加了125G,之所以比lv_home减少的空间要多25G主要是由于我们把系统所有的可用的空间都加在了lv_root分区。
三、所遇到的问题
1、在卸载/home目录的时候失败
可先执行如下fuser命令,然后再umount即可:

1
2
[root@CentOS-78 /]# fuser -m /home  
[root@CentOS-78 /]#

2、设定完lv_home的大小,再次mount该分区时,发现用df命令无法看到给分区,此时只要在mount一次即可
3、在设定lv_root的大小时,不要把Free PE / Size的空间全部都用上,这很可能会出现Free PE空间不足的现象,建议保留一点Free PE的空间。

CentOS下一网卡多IP设置

2016年11月27日 没有评论

方法1:少量IP手动绑定(这里以绑定IP到eth0为例,其它网卡的话修改相应的文件名即可)
1.复制ifcfg-eth0的网卡配置文件并改名为ifcfg-eth0:0

[root@akinlau /]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0

2.编辑ifcfg-eth0:0文件

[root@akinlau /]# vim /etc/sysconfig/network-scripts/ifcfg-eth0:0

DEVICE=”eth0:0″ //这里修改为eth0:0跟文件名保持一致
BOOTPROTO=”static” //协议为静态,用none也可以
HWADDR=”00:0C:29:6F:62:A7″ //MAC地址
ONBOOT=”yes” //开机启用此网卡
IPADDR=192.168.1.3 //新绑定的IP
NETMASK=255.255.255.0 //子网掩码
GATEWAY=192.168.1.1 //网关

修改好后保存退出,然后启用这张网卡

[root@akinlau /]# ifup eth0:0

注:有人在这一步喜欢用service network restart重启网络,其实这是没必要的,只需要启用这张网卡就可以了

然后再试ping 一下,如果能ping通的话,就可以了。

方法2:自动绑定一个IP段或多个IP段(同样这里以eth0为例,其它网卡的话修改相应的文件名即可)
1.新建ifcfg-eth0-range0文件(注意这里的文件名不要调换range的位置或写错单词,不然的话绑定的IP是不会生效的,如果你还有几段IP要绑定到eth0上的话,你可以再新建ifcfg-eth0-range1, ifcfg-eth0-range2等文件,不过这里要注意每个range文件中的定义的CLONENUM_START值不能重叠,不然的话会出问题。 )

[root@akinlau /]# /etc/sysconfig/network-scripts/ifcfg-eth0-range0

#写入以下内容

DEVICE=eth0 //绑定IP段的网卡名称
ONBOOT=yes //开机启用此网卡
BOOTPROTO=static //协议为静态
IPADDR_START=192.168.0.101 //网段的起始IP
IPADDR_END=192.168.0.120 //网段的截止IP
NETMASK=255.255.255.255 //子网掩码
CLONENUM_START=0 //这个数字是网卡别名的开始位置,比如这里的3是指eth0:0,并且会把IPADDR_START设置的IP192.168.0.101绑定到eth0:0上,以此类推
NO_ALIASROUTING=yes //这个参数的作用是数据包始终通过eth0进出,不走网卡别名(如eth0:0),设置这个参数可以加快路由的响应速度,所以强烈建议配置。

修改好后保存退出,然后重启网络:

[root@akinlau /]# service network restart

再测试一下,能不能ping就大功告成了。

centos 内存越来越大 内存占满 释放内存

2016年5月6日 没有评论

Centos 内存占满 释放内存

大家经常使用centos系统是不是感觉经常使用top看到内存在使用一段时间后会越来越大,我也一样,今天用 free -m 查看,发现内存跑满了。
top后按下shift+m,就是按内存占用百分比排序的程序,发现排在第一的进程,才占用0.9%,那是什么占用的呢?谷歌了一下,据说是centos为了提高效率,把部分使用过的文件缓存到了内存里。如果是这样的话,我又不需要这样的文件性能,那就可以释放。如下两个命令就可以:

1
2
sync
echo 3 > /proc/sys/vm/drop_caches

远程密令临时开启ssh端口

2016年5月5日 没有评论

linux服务器,我们一般是通过ssh通道远程管理,这就需要我们开启ssh端口,如22。但开启端口有被暴力破解的风险,你会说可以设置复杂的密码或使用证书避免。就算破解不了密码,但openssh也可能会有漏洞,你会说可以更改ssh端口,但还是有可能被扫描出来。还有一种选择,我们可以只允许指定IP访问ssh,通过vpn登录管理服务器,但局限很明显,万一紧急情况vpn登录不上去了怎么办。(有条件的我们可以多设置几个指定ip访问,保险些。也推荐大家用这个方法,对我们做数据中心服务器提供商多设置几个ip允许访问当然没有什么问题,因为资源多。)资源少的可以有其他办法吗?答案是肯定的。

下面给出一种个人觉得比较满意的解决方案,即使用iptables的recent模块,通过密令临时开启ssh端口。当然,密令需要保管好,防止外泄。(其实这种办法个人来讲,并不是非常推荐。因为人长时间不连服务器容易健忘密令。哈)

1、iptables规则设定

1
2
3
4
#指定78字节的icmp数据包(包含IP头部20字节,ICMP头部8字节)通过被加入openssh列表。
iptables -A INPUT -p icmp --icmp-type 8 -m length --length 78 -m recent --set --name sshopen --rsource -j ACCEPT
#检查openssh列表是否存在你的来源IP,如果存在,即从第一次使用密令开始15秒钟内开启ssh端口22,超过15秒端口自动关闭,不再允许新连接,已连接的不会断开。
iptables -A INPUT -p tcp --dport 22 --syn -m recent --rcheck --seconds 15 --name sshopen --rsource -j ACCEPT

2、临时开启ssh端口密令

1
2
linux下:ping -s 50 host
windows下:ping -l 50 host

3、示例一个目前服务器上使用的iptables规则

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 123 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m length --length 50 -m recent --set --name sshopen --rsource -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 --syn -m recent --rcheck --seconds 15 --name sshopen --rsource -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 443  -j ACCEPT
-A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A OUTPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT

Windows下的PHP安装文件线程安全和非线程安全的区别

2014年11月25日 没有评论

从2000年10月20日发布的第一个Windows版的PHP3.0.17开始的都是线程安全的版本,这是由于与Linux/Unix系统是采用 多进程的工作方式不同的是Windows系统是采用多线程的工作方式。如果在IIS下以CGI方式运行PHP会非常慢,这是由于CGI模式是建立在多进程 的基础之上的,而非多线程。一般我们会把PHP配置成以ISAPI的方式来运行,ISAPI是多线程的方式,这样就快多了。但存在一个问题,很多常用的 PHP扩展是以Linux/Unix的多进程思想来开发的,这些扩展在ISAPI的方式运行时就会出错搞垮IIS。而用线程安全版本的话顶多只是搞跨某个 线程,而不会影响到整个IIS的安全。

当然在IIS下CGI模式才是 PHP运行的最安全方式,但CGI模式对于每个HTTP请求都需要重新加载和卸载整个PHP环境,其消耗是巨大的。为了兼顾IIS下PHP的效率和安全, 有人给出了FastCGI的解决方案。FastCGI可以让PHP的进程重复利用而不是每一个新的请求就重开一个进程。同时FastCGI也可以允许几个 进程同时执行。这样既解决了CGI进程模式消耗太大的问题,又利用上了CGI进程模式不存在线程安全问题的优势。

因此,如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。
因此,如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。
附:德问相关问题摘录
下载PHP安装文件时,我看到有两种不同的二进制文件,像是非线程安全(Non Thread Safe)和线程安全(Thread Safe),比如该页面所列:http://windows.php.net/download/。这个是什么意思,之间有什么区别?

这个主要是针对web server 而言,在windows环境下,如果你使用的web server 是apchae 或者 iis 7以下版本,则应该选择线程安全的安装文件,而如果你使用Fast-cgi模式时,可以选择非线程安全,因为 web sever 本身能保证线程安全。
当然还有二进制文件编译时所使用的编译器:vc9 (vs系列) vc6(gcc)

如楼上所言,是针对web server的,部分web server在处理应用请求的时候是用多线程而非多进程的方式处理,线程方式因为涉及到共享寄存器和内存,所以很容易出错,这个时候程序就需要花一些额外的经历去处理寄存器中的数据一致性,即保证线程安全。
所以是否采用线程安全主要看你的web server所采用的PHP请求处理方式,如果是多线程处理,那么请选择线程安全的,否则选择非线程安全的,如楼上所说Fast-cgi方式可选择非线程安全的

iis7 下动态压缩(gzip压缩)的压缩率更改办法

2014年11月11日 没有评论

iis7下默认压缩率是静态压缩: 0, 动态压缩: 7

一般认为: 压缩率9是性价比最好的压缩率

怎么改变默认的压缩率呢? 运行以下命令即可:

%windir%\system32\inetsrv\appcmd.exe set config -section:httpCompression -[name='gzip'].dynamicCompressionLevel:9
%windir%\system32\inetsrv\appcmd.exe set config -section:httpCompression -[name='gzip'].staticCompressionLevel:9

命令运行后, 必须重启IIS, 新的压缩率才开始生效

apache支持下载docx,pptx,rar等文件

2014年10月25日 没有评论

apache web服务器的站点,下载pptx,docx,xlsx文件,却被浏览器当作zip文件保存。

这不是浏览器的问题,而是apache不认docx,pptx,,xlsx等Microsoft Office 2007+的文件格式,而这些文件本身是zip压缩文件,所以被apache当作zip压缩文件发给浏览器了。

做个形像一点的比喻:浏览器请求一个url路径,这个路径指向一个.pptx文件,apache从web服务器的目录(磁盘上)查到这个文件,但它不知道这个文件是什么类型(注意:文件类型并不是由文件名后缀决定的,而是文件本身内容所决定),于是它通过分析这个文件内容,发现这个文件像是个zip压缩档,文件大小为12345字节,于是它给浏览器说:“嘿,你请求的是个zip压缩文件,它的大小为12345个字节,文件名是 abcd.pptx 。下面是这个文件的内容,请接收”

浏览器收到消息后,得知apache要发给自己一个zip压缩档,于是一边弹出对话框、询问用户是直接打开、还是保存到硬盘,一边把apache接下来发回的数据保存到缓冲区(或者保存到硬盘的临时目录里),等用户做好选择后,采取相应的打开或是保存的操作。

形象的说明,并不是十分准确的,但大体过程如此。

那现在的问题在于apache因为不认识这个pptx文件,那我们要教会apache,让它知道。我们可以通过mime.types文件让告诉它:

修改mime.types文件,在其中加上

application/vnd.ms-word.document.macroEnabled.12 docm
application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx
application/vnd.ms-powerpoint.template.macroEnabled.12 potm
application/vnd.openxmlformats-officedocument.presentationml.template potx
application/vnd.ms-powerpoint.addin.macroEnabled.12 ppam
application/vnd.ms-powerpoint.slideshow.macroEnabled.12 ppsm
application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx
application/vnd.ms-powerpoint.presentation.macroEnabled.12 pptm
application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
application/vnd.ms-excel.addin.macroEnabled.12 xlam
application/vnd.ms-excel.sheet.binary.macroEnabled.12 xlsb
application/vnd.ms-excel.sheet.macroEnabled.12 xlsm
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
application/vnd.ms-excel.template.macroEnabled.12 xltm
application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx
这样的一部分代码,这里包含了ms office相关的很多文件类型。

mime.types文件位置

那mime.types文件在什么位置呢?

对于windows版本的apache,它在apache安装目录下的conf子目录里,典型位置为 X:\Program Files\Apache Group\Apache2\conf\mime.types

而linux版本下,通常位于/etc/mime.types, 如redhat/centos/fedora都是如此,debian/ubuntu系列应该也在这里,个人没有亲自查证。

不过centos并不推荐在这里修改,参看这里 http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-apache-config.html TypesConfig一小节

Instead of editing /etc/mime.types, the recommended way to add MIME type mappings is to use the AddType directive.

建议不要去修改 /etc/mime.types ,添加MIME type的推荐方法是使用apache的 AddType 指令.

AddType application/vnd.ms-word.document.macroEnabled.12 docm
AddType application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
AddType application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx
AddType application/vnd.ms-powerpoint.template.macroEnabled.12 potm
AddType application/vnd.openxmlformats-officedocument.presentationml.template potx
AddType application/vnd.ms-powerpoint.addin.macroEnabled.12 ppam
AddType application/vnd.ms-powerpoint.slideshow.macroEnabled.12 ppsm
AddType application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx
AddType application/vnd.ms-powerpoint.presentation.macroEnabled.12 pptm
AddType application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
AddType application/vnd.ms-excel.addin.macroEnabled.12 xlam
AddType application/vnd.ms-excel.sheet.binary.macroEnabled.12 xlsb
AddType application/vnd.ms-excel.sheet.macroEnabled.12 xlsm
AddType application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
AddType application/vnd.ms-excel.template.macroEnabled.12 xltm
AddType application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx
可以把这些指令加到apache的配置文件里,该指令在apache里出现过N次,不需多说,照着加进去就对了。

rar怎么支持呢?其实也很容易。找一下zip然后在zip支持下加一条一样的。把zip改成rar重启apache就可以了。