今天在看《高性能php应用开发》这本书,说道如何启用mod_deflate:
启用如下模块:
LoadModule deflate_module modules/mod_deflate.so
然后加入指令:
AddOutputFilterByType DEFLATE text/html text/plain text/xml
即可。
但是发现老是出错,
Invalid command 'AddOutputFilterByType', perhaps misspelled or defined by a module not included in the server configuration
去百度查看下,未果,之后发现官方有段话:
Invalid command 'AddOutputFilterByType', perhaps misspelled or defined by a module not included in the server configuration -AddOutputFilterByType has moved from the core to mod_filter, which must be loaded.
原来,除了启用deflate之外,还要启用mod_filter,找到这句:
LoadModule filter_module modules/mod_filter.so
去除前面的分号,终于好了!
首先介绍下VM常用的两种网络连接方式和区别
一、桥接网络:
在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,配置好网关和DNS的地址后,以实现通过局域网的网关或路由器访问互联网。
二、nat网络:
使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,只需要宿主机器能访问互联网,你不需要配置IP地址,子网掩码,网关,但是DNS地址还是要根据实际情况填的。添加DNS地址除了在网卡属性中填写,还可以在虚拟机中的“虚拟网络编辑器”中的NAT选项卡中点击“编辑”按钮中来添加。
如果仅仅是让虚拟机能上网,两种模式都可以的,用桥接的话只要你在局域网内有合法的地址,比如你的ADSL猫是带路由功能的,如果是在单位,那就要网管给你合法IP才行(现在公司都是mac和ip绑定的)。
现在是主机和虚拟机互通,如果你的adsl带路由功能,那关闭虚拟机的dhcp,选桥接,检查2机是否分配同网段的IP,关闭防火墙。
换成自己的话就是:
桥接是虚拟机相当于一台独立的计算机,有自己的ip地址。
NAT是共享宿主机器的ip来访问网络,主要宿主计算机能访问网络,它就可以访问。
2、初次安装centos 配置网络
a、采用桥接来连接网络(适合有路由、交换机用户),配置静态IP来实现上网,局域网内通信
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0" BOOTPROTO=none HWADDR="00:23:54:DE:01:69" ONBOOT="yes" TYPE="Ethernet" USERCTL=no IPV6INIT=no PEERDNS=yes NETMASK=255.255.255.0 IPADDR=192.168.1.110 GATEWAY=192.168.1.1 DNS1=8.8.8.8
HWADDR、IPADDR、GATEWAY 、DNS1实际配置还需要根据自己的网络环境来配置
b、使用NAT来配置网络
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0" HWADDR="08:00:27:BE:80:A6" NM_CONTROLLED="yes" ONBOOT="yes" BOOTPROTO="dhcp"
BOOTPROTO:设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址。
reboot #重启
重启后也能正常上网了。
2、clone克隆一个系统配置网络环境
克隆顾名思义就是从原来的系统上复制一份一模一样的系统,但我们想让克隆系统连接上互联网,则需要对网络环境做一些调整
当我们 service network restart 时会有错误提示消息
Bringing up interface eth0: Device eth0 does not seem to be present,delaying initialization. [FAILED]
vim /etc/udev/rules.d/70-persistent-net.rules
记录下 eth1 的MAC地址
# PCI device 0x1022:0x2000 (pcnet32) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:96:50:1e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x1022:0x2000 (pcnet32) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:d5:65:00", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
然后我们需要修改下 vim /etc/sysconfig/network-scripts/ifcfg-eth0 修改原DEVICE eth0 为 eth1 和对应的MAC地址
DEVICE="eth1" #BOOTPROTO=none HWADDR="00:0C:29:d5:65:00" NM_CONTROLLED="yes" ONBOOT="yes" BOOTPROTO="dhcp"
service network restart
ping www.baidu.com
能ping通说明已经连上网络
1、看到重定向一下子就想起了web里面的redirect,没错,但是Linux数据流重定向的作用不是跳到另一个网页,而是用来存储重要的屏幕信息、将不必要的屏幕信息输出到文件里或者“黑洞”里、将错误信息和正确信息分开存储,或者只显示正确信息等等~
2、数据流重定向分为标准输入(代码为0,使用<或<<)、标准输出(代码为1,使用>或>>)、标准错误(代码为2,使用2>或2>>)输出这三种。
3、标准输入 > 例子:ls -l / >dir.txt 表示将根目录下的所有显示信息输出到文件dir.txt里面
4、如果希望继续在dir.txt里面输出东西,但不覆盖之前的信息,使用>>,比如ls /home >>dir.txt再看看dir.txt里面,就会发现末尾多了ls /home的结果。如果使用>的话,就会覆盖前面的内容哦!>输出是不能累加的!
5、如果想用另一个文件中的内容输入到dir.txt,可以这样 cat > dir.txt <report/build.xml (不保留文件里原有的内容)或者cat >> dir.txt <report/build.xml (保留文件里原有的内容)
6、运行shell后,如果想将屏幕信息中正确的和错误的信息分别存于两个文件。比如,系统中并没有qwert这个文件,但是有dir.txt这个文件,find dir.txt qwert >right_lisit 2>wrong_list 一定要使用2> 输出错误信息
7、有些错误事先已经知道了,而且无关紧要,没有必要在屏幕上显示,也没有必要存到文件里,可以这样find dir.txt qwert 2>/dev/null
这样就可以将错误信息扔进“黑洞”了~,如果你有兴趣可以去/dev/null,看一下~ 里面什么都没有的。。。
8、如果想将正确信息和错误信息都纪录下来,find dir.txt qwert >list.txt 2>&1
9、通过> 也可以建立文件哦~ cat > newfile
10、还有一个<<没有介绍,这个和他的“另一半”>>可不一样,并不表示累加,而表示输入的结束。比如:cat > newfile <<"over"
然后你就可以输入文件的内容啦
12345
上山打老虎
over
执行cat newfile命令,可以看到,文件里面没有over字样哦~,over只是我们自己定义的一个作为输入结束的标示符而已~
会了吗?操练一下吧~