apache的配置优化

【APACHE的工作方式】 prefork模式(默认) 这个多路处理模块(MPM)实现了一个非线程型的、预派生的web服务器,它的工作方式类似于Apache 1.3。它适合于没有线程安全库,需要避免线程兼容性问题的系统。它是要求将每个请求相互独立的情况下最好的MPM,这样若一个请求出现问题就不会影响到其他请求。 这个MPM具有很强的自我调节能力,只需要很少的配置指令调整。最重要的是将MaxClients设置为一个足够大的数值以处理潜在的请求高峰,同时又不能太大,以致需要使用的内存超出物理内存的大小。 worker模式 此多路处理模块(MPM)使网络服务器支持混合的多线程多进程。由于使用线程来处理请求,所以可以处理海量请求,而系统资源的开销小于基于进程的MPM。但是,它也使用了多进程,每个进程又有多个线程,以获得基于进程的MPM的稳定性。 【apache配置参数备注】 1、KeepAlive On/Off KeepAlive指的是保持连接活跃,类似于Mysql的永久连接。换一句话说,如果将KeepAlive设置为On,那么来自同一客户端的请求就不 需要再一次连接,避免每次请求都要新建一个连接而加重服务器的负担。一般情况下,图片较多的网站应该把KeepAlive设为On。 2、KeepAliveTimeOut number 如果第二次请求和第一次请求之间超过KeepAliveTimeOut的时间的话,第一次连接就会中断,再新建第二个连接。它的设置一般考虑图片或者JS等文件两次请求间隔,我的设置经验为3-5秒。 3、MaxKeepAliveRequests 100 一次连接可以进行的HTTP请求的最大请求次数。将其值设为0将支持在一次连接内进行无限次的传输请求。事实上没有客户程序在一次连接中请求太多的页面,通常达不到这个上限就完成连接了。 4、StartServers        10 设置服务器启动时建立的子进程数量。因为子进程数量动态的取决于负载的轻重,所有一般没有必要调整这个参数。 5、MinSpareServers     10 设置空闲子进程的最小数量。所谓空闲子进程是指没有正在处理请求的子进程。如果当前 空闲子进程数少于MinSpareServers ,那么Apache将以最大每秒一个的速度产生新的子进程。只有在非常繁忙机器上才需要调整这个参数。将此参数设的太大通常是一个坏主意。 6、MaxSpareThreads     75 设置空闲子进程的最大数量。如果当前有超过MaxSpareServers数量的空 闲子进程,那么父进程将杀死多余的子进程。只有在非常繁忙机器上才需要调整这个参数。将此参数设的太大通常是一个坏主意。如果你将该指令的值设置为比 MinSpareServers小,Apache将会自动将其修改成”MinSpareServers+1″。 7、ServerLimit       2000 服务器允许配置的进程数上限。只有在你需要将MaxClients设置成高于默认值256的时候才需要使用。要将此指令的值保持和MaxClients一样。修改此指令的值必须完全停止服务后再启动才能生效,以restart方式重启动将不会生效。 8、MaxClients        256 用于伺服 客户端请求的最大请求数量(最大子进程数),任何超过MaxClients限制的请求都将进入等候队列。默认值是256,如果要提高这个值必须同时提高 ServerLimit的值。笔者建议将初始值设为(以Mb为单位的最大物理内存/2),然后根据负载情况进行动态调整。比如一台4G内存的机器,那么初 始值就是4000/2=2000。 9、MaxRequestsPerChild  0 apache.exe进程包括一个是父进程、一个是子进程,父进程接到访问请求后,将请求交由子进程处理。MaxRequestsPerChild这个指 令设定一个独立的子进程将能处理的请求数量。在处理“MaxRequestsPerChild 数字”个请求之后,子进程将会被父进程终止,这时候子进程占用的内存就会释放,如果再有访问请求,父进程会重新产生子进程进行处理。  如果 MaxRequestsPerChild缺省设为0(无限)或较大的数字(例如10000以上)可以使每个子进程处理更多的请求,不会因为不断终止、启动 子进程降低访问效率,但MaxRequestsPerChild设置为0时,如果占用了200~300M内存,即使负载下来时占用的内存也不会减少。内存 较大的服务器可以设置为0或较大的数字。内存较小的服务器不妨设置成30、50、100,以防内存溢出。所以一般情况下,如果你发现服务器的内存直线上升,建议修改该参数试试。 【apache的Rewrite】 1、是否支持使用.htaccess文件来定义或者修改apache的设置,是否支持目录列表
<Directory /> Options indexes FollowSymLinks AllowOverride All </Directory>
2、rewrite 配置 RewriteEngine on RewriteCond $1 !^(index\.php|images|robots\.txt) #定义重写发生的条件 RewriteRule ^(.*)$ /index.php/$1 [L] RewriteLog D:/lib/rewrite.log #设置rewrite日志文件,主要用来rewrite调试 RewriteLogLevel 3 #设置rewrite日志文件记录的等级,主要用来rewrite调试
  【apache的Gzip功能】 gzip可以级大的加速网站.有时压缩比率高到80%,近来测试了一下,最少都有40%以上,还是相当不错的.在Apache2之后的版本,模块名不叫gzip,而叫mod_deflate
如果要开启gzip的话,一定要打开下面二个模块. LoadModule headers_module modules/mod_headers.so LoadModule deflate_module modules/mod_deflate.so 设置压缩比率,取值范围在 1(最低) 到 9(最高)之间,不建议设置太高,虽然有很高的压缩率,但是占用更多的CPU资源. DeflateCompressionLevel 3 AddOutputFilter DEFLATE html xml php js css <Location /> SetOutputFilter DEFLATE BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html SetEnvIfNoCase Request_URI \\.(?:gif|jpe?g|png)$ no-gzip dont-vary SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary Header append Vary User-Agent env=!dont-vary #对代理的设置 </Location> 下面二个测试网站 http://www.whatsmyip.org/mod_gzip_test/ http://www.gidnetwork.com/tools/gzip-test.php 测试数据对css Original Size: 44 KB Gzipped Size: 10 KB Data Savings: 77.27% 测试数据js Original Size: 6 KB Gzipped Size: 2 KB Data Savings: 66.67% 测试数据php Original Size: 62 KB Gzipped Size: 15 KB Data Savings: 75.81% 上面只是随机拿的几个数据,看的出来,使用了gzip压缩后文件小多了. 另外讲一下,有关squid对gzip的处理 在squid中,对同一个URL只保留一份缓存。对于如果不同browser(是否支持压缩) 如果频繁交替访问,例如:对某个cache住的目标,一个http/1.0请求可能会导致squid强制更新其缓存。但接下来的另一个http/1.1请 求又会导致squid再次更新缓存。这样那squid缓存数据就要频繁更新,这就极大的降低了cache命中率。 不过还好,现实环境中不支持压缩的browser毕竟是很少的情况,所以对于缓存命中率的降低很有限.

安装 Cacti for Windows

准备工作 安装软件包 1.appserv-win32-2.5.9 默认安装,安装在了 C:\AppServ。 装好以后,可以访问 http://localhosthttp://localhost/phpinfo.php 检验安装情况。 2.net-snmp-5.4.0-1.win32.exe 默认是安装在C:\usr下的,这里需要安装在 C:\net-snmp。选择安装组件时,不需要安装net-snmp trap service服务和perl支持。 3.cacti-0.8.7b.zip 解压在 C:\AppServ\www\cacti 4.rrdtool-1.2.15-cygwin-1.5.20.zip 解压在 C:\rrdtool 更改设置参数 1.设置环境变量对PHP的支持 “开始”-“控制面板”-“系统”-“高级”-“环境变量”。
  • 在“系统变量”选项卡里点“添加”,在弹出的窗口中变量名输入MIBDIRS,变量值输入 “c:\net-snmp\share\snmp\mibs”
  • 找到“path”变量,点“编辑”,在变量值最后加入PHP的搜索路径,这里是 “; C:\AppServ\php5; C:\AppServ\php5\ext”
2.修改PHP配置文件 修改c:\winnt\php.ini支持SNMP。去掉 extension=php_snmp.dll 前面的注释 修改c:\winnt\php.ini的session保存位置,否则经常出现“Warning: session_start()”一类的错误。将 session.save_path = "C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/2" 改为 session.save_path = "C:/winnt/Temp" 3.创建cacti的数据库 a) 进入 http://localhost/phpMyAdmin/。 b) 创建数据库cactidb c) 创建用户cactiuser,密码cactipw d) 配置cactiuser对cactidb的完全访问权限 e) 将 C:\AppServ\www\cacti\cacti.sql 导入进cactidb,在命令行窗口输入如下命令 mysql -ucactiuser -pcactipw cactidb < C:\AppServ\www\cacti\cacti.sql 4.修改cacti的文件
  • 设置时区,否则LOG文件的时间不对。 打开 C:\AppServ\www\cacti\include\global.php 文件,在里面加入一行 date_default_timezone_set('Asia/shanghai');
  • 设置cacti连接数据库。 打开 C:\AppServ\www\cacti\include\config.php 文件,修改 $database_default = "cactidb"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "cactipw";
5.安装配置cacti 打开 http://localhost/cacti 会进入cacti的安装界面
  • 在设置php路径中输入 C:/AppServ/php5/php.exe
  • 安装完成后,以admin登录用户,在console - Settings - Paths 中设置 RRDTool Default Font Path 成 C:/winnt/fonts/arial.ttf。(否则出来的图上面没有字)
  • 在console - Settings - General 中设置 RRDTool Utility Version 为 1.2.x
6.定时启动poller.php a) 配置“计划任务”,添加任务计划; b) 运行程序为 C:\AppServ\php5\php.exe,设置成每天 00:00 执行,高级里面选每5分钟执行一次,持续24小时; c) 返回到属性的首页; d) 运行(R)改成 C:\AppServ\php5\php.exe C:\AppServ\www\cacti\poller.php e) 起始于改成 C:\AppServ\php5\ 不出图的调试思路
  • 检查poller是否正常 Console - System Utilities - View Cacti Log File 检查Poller的日志
  • 记录一个项目的OID值和对应的rra文件 Console - System Utilities - View Poller Cache
  • 检查net-snmp能否取到资料 snmpget -v 2c -c community ip.xxx.xxx.xxx oid.x.x.x.x.x.x.x.x.x.x.x snmpwalk -v 2c -c community ip.xxx.xxx.xxx
  • 检查rra文件是否正常 rrdtool.exe fetch c:\AppServ\www\rra\xxxxxxx.rrd AVERAGE
  • 如果没有图,检查是rrdtool能否创建rra文件 Console - System Utilities - Data Sources - 选择一个项目 - Turn On Data Source Debug Mode 将里面的 c:/rrdtool/rrdtool.exe create \ c:/AppServ/www/rra/xxxxxxxx.rrd \ --step 300  \ DS:traffic_in:COUNTER:600:0:1000000000 \ DS:traffic_out:COUNTER:600:0:1000000000 \ RRA:AVERAGE:0.5:1:600 \ RRA:AVERAGE:0.5:6:700 \ RRA:AVERAGE:0.5:24:775 \ RRA:AVERAGE:0.5:288:797 \ RRA:MAX:0.5:1:600 \ RRA:MAX:0.5:6:700 \ RRA:MAX:0.5:24:775 \ RRA:MAX:0.5:288:797 \ 整理成一行,在cmd窗口下执行,看能否正常创建。

windows上mrtg监控linuxcpu 内存

windows上安装mrtg来做监控机的实验,并且也已经开始运行在企业当中。mrtg的特点就是一目了然,配置也相对简单,不需要数据库,它与rrdtools、Nagios没有好坏之分,看你需要用什么了。 *在windows系统上安装mrtg,监控linux机器(只要把此搞懂了,在linux安装mrtg监控其他机器就更简单了) 一、准备安装环境 1. MRTG, 2. ActivePerl.msi 3. Windows服务安装工具:SERANY.exe 和 INSTSRV.exe 1. MRTG, 二、安装,配置监控机环境 1. 安装ActivePerl解 压ActivePerl的包,然后双击运行安装文件即可。缺省情况下Perl安装在C:\Perl目录下。 2. 安装MRTG解压MRTG的包,我用的是MRTG-2.12.2版本。将解压后的目录移到一个自定义的目录下就行了,我用的是C:\MRTG。 3. 安装,创建snmp。 在“控制面板->增加/删除程序->Windows组件安装”中,安装SNMP的组件。 添加snmp,开始-->管理工具-->服务-->SNMP Server,右键-->安全 添加public,只读 4,需要有iis来支持,网站目录自己定(我这里是c:\Inetpub\wwwroot\) 4.修改防火墙,打开UDP 161端口。 5.设置监控机器的snmp 二,安装,配置被监控机配置(ip:10.180.0.123): 1,安装包 net-snmp-perl-5.1.2-11.EL4.6.x86_64.rpm net-snmp-libs-5.1.2-11.EL4.6.x86_64.rpm net-snmp-utils-5.1.2-11.EL4.6.x86_64.rpm net-snmp-devel-5.1.2-11.EL4.6.x86_64.rpm !!需要预先安装以下rpm包 beecrypt-devel-3.1.0-6.x86_64.rpm elfutils-devel-0.97-5.x86_64.rpm(在第5张安装光盘上) net-snmp-5.1.2-11.EL4.6.x86_64.rpm net-snmp-utils-5.1.2-11.EL4.6.x86_64.rpm 2,修改/etc/snmp/snmpd.conf 找到这行: # Make at least snmpwalk -v 1 localhost -c public system fast again #       name           incl/excl     subtree         mask(optional) view    systemview    included   .1.3.6.1.2.1.1 view    systemview    included   .1.3.6.1.2.1.25.1.1 在view几行的下面,加上这段文字: # For Mrtg Add start #################################### view    all           included   .1.3.6 # For Mrtg Add end   #################################### 找到这行: #### # Finally, grant the group read-only access to the systemview view. #       group          context sec.model sec.level prefix read   write notif access notConfigGroup ""      any       noauth    exact mib2   none   none 把 access notConfigGroup 里的mib2(也可能是systemview) 更改为all 然后重启snmp服务 # service snmpd restart 三,生产监控机器的文件 1, 打开DOS窗口,首先进入C:\mrtg\bin,然后输入以下命令(生产主配置文件): perl cfgmaker --global "WorkDir: C:\Inetpub\wwwroot" OutPut --output mrtg.cfg 2,生产首页文件 perl indexmaker mrtg.cfg>c:\Inetpub\wwwroot\index.htm 3,生产日志文件(执行3次以上就不会有报错了) perl mrtg --logging=all.log all.cfg 4,启动mrtg服务 perl mrtg mrtg.cfg 四,修改配置文件 (可以清空mrtg.cfg所有内容以上默认监控的只是流量,对其他服务的监控如下): 修改C:\mrtg\bin\mrtg.cfg 加入: EnableIPv6: no WorkDir: C:\Inetpub\wwwroot #监控机目录 RunAsDaemon:yes Interval:5    #5分钟snmp查询一次 #================================================================================ Language: gb2312 #HtmlDir: C:\Inetpub\wwwroot ImageDir: C:\mrtg\bin LogDir: C:\Inetpub\wwwroot ThreshDir: C:\mrtg\bin LoadMIBs:/usr/share/snmp/mibs/UCD-SNMP-MIB.txt,/usr/share/snmp/mibs/HOST-RESOURCES-MIB.txt,/usr/share/snmp/mibs/TCP-MIB.txt #================================================================================ Target[eth0_lan]: /10.180.0.123:public@10.180.0.123: Options[eth0_lan]: growright Directory[eth0_lan]: eth0 MaxBytes[eth0_lan]: 100000000 Kmg[eth0_lan]: ,k,M,G,T,P YLegend[eth0_lan]: Bytes per Second ShortLegend[eth0_lan]: B/s Legend1[eth0_lan]: in b/s (Bytes) Legend2[eth0_lan]: out b/s (Bytes) LegendI[eth0_lan]: in: LegendO[eth0_lan]: out Title[eth0_lan]: eth0 PageTop[eth0_lan]: <H1>eth0</H1> #双网卡如下添加 Target[eth0_lan]: /10.180.0.111:public@10.180.0.123: Options[eth0_lan]: growright Directory[eth0_lan]: eth0 MaxBytes[eth0_lan]: 100000000 Kmg[eth0_lan]: ,k,M,G,T,P YLegend[eth0_lan]: Bytes per Second ShortLegend[eth0_lan]: B/s Legend1[eth0_lan]: in b/s (Bytes) Legend2[eth0_lan]: out b/s (Bytes) LegendI[eth0_lan]: in: LegendO[eth0_lan]: out Title[eth0_lan]: eth0 PageTop[eth0_lan]: <H1>eth0</H1> #cpu使用和空间查看 Target[cpuload]: .1.3.6.1.4.1.2021.11.50.0&1.3.6.1.4.1.2021.11.53.0:public@10.180.0.123: Options[cpuload]: nopercent,growright Directory[cpuload]: cpu MaxBytes[cpuload]: 100 Unscaled[cpuload]: dwym YLegend[cpuload]: CPU Utilization ShortLegend[cpuload]: %; Legend1[cpuload]: CPU used(%) Legend2[cpuload]: CPU Idle(%) LegendI[cpuload]: user: LegendO[cpuload]: ldle: Title[cpuload]: CPU[user+ldle] PageTop[cpuload]: <h1>CPU[user+ldle]</h1> #内存使用和空闲查看 Target[memory]: .1.3.6.1.2.1.25.2.3.1.6.2&.1.3.6.1.2.1.25.2.3.1.6.3:public@10.180.0.123: Options[memory]: gauge,growright Directory[memory]: mem MaxBytes1[memory]: 4138700 MaxBytes2[memory]: 5406712 Kmg[memory]: k,M,G,T,P Kilo[memory]: 1024 Unscaled[memory]: dwym YLegend[memory]: Bytes ShortLegend[memory]: B Legend1[memory]: used Mem (Bytes) Legend2[memory]: used Swap(Bytes) LegendI[memory]: used Mem : LegendO[memory]: used Swap: Title[memory]: Mem% [Mem+Swap] PageTop[memory]: <h1>Mem%[Mem+Swap]</h1> #tcp连接数 Target[tcpopen]: .1.3.6.1.2.1.6.9.0&.1.3.6.1.2.1.6.9.0:public@10.180.0.123: Options[tcpopen]: gauge,nopercent,growright Directory[tcpopen]: tcpopen MaxBytes[tcpopen]: 1000 YLegend[tcpopen]: Tcp Connections ShortLegend[tcpopen]: 个 Legend1[tcpopen]: 打开的TCP连接数(个) Legend2[tcpopen]: LegendI[tcpopen]: TCP连接数: LegendO[tcpopen]: Title[tcpopen]: TCP Open PageTop[tcpopen]: <h1>TCP Connections</h1> #系统进程查看 Target[process]: .1.3.6.1.2.1.25.1.6.0&.1.3.6.1.2.1.25.1.6.0:public@10.180.0.123: Options[process]: gauge,nopercent,growright Directory[process]: process MaxBytes[process]: 1000 YLegend[process]: Processes ShortLegend[process]: 个 Legend1[process]: 系统进程数(个) Legend2[process]: LegendI[process]: 进程数: LegendO[process]: Title[process]: 系统进程数[进程数] PageTop[process]: <h1>System processes</h1> 五,给mrtg创建服务,来定时监控 1, 把SERANY.exe 和 INSTSRV.exe拷贝到c:\mrtg\bin下 2, 执行instsrv mrtg c:\mrtg\bin\srvany.exe 3, 创建文件mrtg.reg,拷入: Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mrtg\Parameters] "Application"="c:\\perl\\bin\\wperl.exe" "AppParameters"="c:\\mrtg\\bin\\mrtg --logging=eventlog c:\\mrtg\\bin\\mrtg.cfg" "AppDirectory"="c:\\mrtg\\bin\\" 双击mrtg.reg 进行合并。 这样就可以关闭perl mrtg mrtg.cfg 命令了。 六,关于oid 一 般使用windows来做监控机,需要知道被监控机器的oid,不同系统,不同主机oid相对来说也是不同的,不过一般都能使用查询oid可以下载 getif和getif-mibs,华为交换机cpu使用的oid是 1.3.6.1.4.1.2011.6.1.1.1.2.0&1.3.6.1.4.1.2011.6.1.1.1.4.0

Windows server 2003 利用MRTG进行网络监控

1.目录

2.说明
3.SNMP简介
4.MRTG简介
5.安装PERL
6.安装设置SNMP
7.安装配置MRTG
8.加流量图到网站中

2.说明:

本次只是在 Windows server 2003下实战利用MRTGwindows服务器进行网络监控。

3.SNMP简介

SNMPSimple Network Management Protocol,即简单网络管理协议,,是有IETF(Internet Engineeriing Task Force,互联网工程任务组)定义的一套基于SGMP(Simple Gateway Monitor Protocol,简单网关监视协议)的网络管理协议。以SNMP为技术的网络管理系统(NMS)中,管理工作站利用SNMP进行远程监控管理网络上的所有支持这种协议的设备(如计算机工作站、终端、路由器、Hub、网络打印机等),主要负责监视设备状态、修改设备配置、接受事件警告等。

4.MRTG简介

MRTG (Multi Router Traffic Grapher)是一款监控网络流量负载的免费软件,目前利用MRTG已经开发出了各式各样的统计系统:
1).系统资源负载统计,例如:磁盘空间、CPU负载、内存用量等等
2)Server流量统计,例如:MailDNSWebBBSIRC
3).网络设备流量统计,例如:防火墙、路由器、交换机等
4).另类统计,例如:Modem流量、Login人数、联机游戏人数等。
MRTG是利用SNMP协议去查询指定有SNMP协议的设备,定时统计其设备的流量或负载,再将统计结果绘成统计图,从统计图上能很容易、直观地就能查出流量或负载。
注释:其他监控后续我努力会补上

5.安装PERL

(1)下载地址: [url]http://downloads.activestate.com/ActivePerl/Windows/5.8/[/url]
   版本名称: ActivePerl-5.8.8.822-MSWin32-x86-280952.msi
(2)Perl的安装:
双击打开Perl的安装文件,点下一步,中间可以更改安装路径,盘符一般应和web的根目录所在的盘一致。Perl安装好之后,需要检查一下其是否安装正确,安装完毕的检查方法:
Internet信息服务管理(IIS)--à网站右键单击--à属性--à主目录--à配置,调出下图,查看有没有.pl,.plx扩展名,如果有就说明perl安装成功了。

6.安装设置SNMP

(1) SNMP服务安装:
打开"控制面板"--à进入"添加与删除程序"--à点击"添加与删除Windows组件"--à选择"管理和监控工具箱"--à点击"详细" 选择"简单网络管理协议(SNMP)",并点击击确定--à点击下一步继续直到完成。注释:需要I38
(2)SNMP服务配置:
 打开"管理工具"--à进入"服务"--à选择SNMP Service --à编辑属性--à“安全”--à在“接受团体名称”中添加团体名称(例如:LanTest--à“接受来自这些主机的SNMP数据包”中添加监控服务器IP---à重启服务
注释:1SNMP服务配置只需在被监控服务器上设置,监控服务器可以不配置;
      2)如果被监控服务器上安装防火墙,需要向监控服务器打开UDP161端口;

7.安装配置MRTG

(1)下载地址: [url]http://oss.oetiker.ch/mrtg/download.en.html[/url]
   版本名称:mrtg-2.16.2.zip
(2)直接解压mrtg-2.16.2.zipE:\mrtg(根据自己的磁盘空间定哦)
(3) 进入CMD环境,依次执行以下命令:
#*******************************
Cd E:\mrtg\bin
#*******************************
(4)配置
#*******************************
1)开始配置MRTG
perl cfgmaker LanTest@192.168.1.1  LanTest@192.168.1.2 --global "WorkDir: E:\mrtg\html" --output mrtg.cfg
#注释:html是我自己建的文件夹,这里监控192.168.1.1192.168.1.2两台服务器
#*******************************
说明:这个配置的cfg监视的是一个服务器,IP192.168.1.1LanTestSNMP Community串。然后"WorkDir: E\mrtg\html"就是是输出html文件存放的路径,mrtg.cfg就是为这个配置命名的文件名,默认mrtg.cfg文件放置在E:\mrtg\bin里,可以改成其他的。要注意的是路径。
2)设置监控周期,例如每5分钟更新一次,在mrtg.cfg后面加上:
RunAsDaemon:yes
Interval:5
可使用以下命令:
#*******************************
cd E:\mrtg\bin
echo runasDaemon:yes>>mrtg.cfg
echo Interval:5>>mrtg.cfg
echo Language: chinese >>mrtg.cfg                  //监控网页部分汉化
再编辑mrtg.cft,设置:Options[_]: growright, bits
#*******************************
3)使用indexmaker生成监控浏览文件,运行:
#*******************************
perl indexmaker --output=e:\mrtg\html\index.htm mrtg.cfg
#*******************************
说明:把放在E:\mrtg\bin\下的mrtg.cfg所生成的报表输出为一个index.htm存放到E:\mrtg\html下。
4)运行mrtg
#*******************************
perl mrtg --logging=mrtg.log mrtg.cfg
#*******************************
运行后,应该会显示
Daemonizing MRTG ...
Do Not close this window. Or MRTG will die
注释:运行这个命令会有出现警告信息,若有可以用ctr+C结束了命令,然后再重复执行此命令,直到出现以上提示。
这样MRTG就开始监控流量,但你要是关闭了这个窗口那么监控就会停止,所以我可以让他自动运行,方法是将MRTG配置为服务来运行。
5MRTG配置为服务
 由于MRTG需要perl来编译执行,不能直接添加为系统服务,现在我们使用instsrv.exesrvany.exe这两个程序来把MRTG添加为系统服务:
下载:srvany.exeinstsrv.exe
[url]http://www.electrasoft.com/srvany/srvany.exe[/url]
[url]http://www.electrasoft.com/srvany/instsrv.exe[/url]
A)添加srvany.exe服务
复制srvany.exeinstsrv.exeE:\mrtg\bin下并在命令提示符里运行:
Instsrv  MRTG ”E:\mrtg\bin\srvany.exe”
B)配置srvany
在注册表hkey_local_machine\system\currentcontrolset\services\mrtg中添加一个parameters项,再在parameters子键中添加以下项目:
application的字串值,内容为c:\perl\bin\perl.exe
appdirectory的字串值,内容为E:\mrtg\bin\
appparameters的字串值,内容为mrtg -logging=mrtg.log mrtg.cfg
C)在控制面板--à管理工具---à服务中,找到MRTG服务并启动,此时MRTG即可全天监视制定服务器的网络信息了.
#*******************************
命令小结:
perl cfgmaker LanTest@192.168.1.1  LanTest@192.168.1.2 --global "WorkDir: E:\mrtg\html" --output mrtg.cfg
echo runasDaemon:yes>>mrtg.cfg
echo Interval:5>>mrtg.cfg
echo Language: chinese >>mrtg.cfg
perl indexmaker --output=e:\mrtg\html\index.htm mrtg.cfg
perl mrtg --logging=mrtg.log mrtg.cfg
#*******************************

wordpress在windows2003 iis6的环境下伪静态化超级完美终极方案

wordpress在windows环境下静态化是一个老大难的问题,目前网上流行的有几种方法,有用404(缺陷是搜索结果页)还有用 httpd.ini (标签页分页错误)写规则,还有用WordPress URL Rewrite组件(中文标签页支持不完美),但都不是很完美。鸟亭综合了以上各种方法,穿插应用,最终形成比较完善的终极方案。 本文以windows2003 iis6为实验环境,当然本文也适用于windows2008,iis7等环境。 第一步、下载WordPress URL Rewrite组件 下载地址:WordPress URL Rewrite  WordPress URL Rewrite主要功能与特色:完全无需人工干预,全自动重写URL,只需要在后台设置好固定链接(Permalinks)形式,就能直接使用,就像 linux下用.htaccess一样。可以使用在一级目录和子目录,也可以排除不需要重写的目录。这个非常方便,对于某些目录不需要URL重写的就将其 排除,不会造成无法访问。因为全自动,所以免去了在写重写规则时候遇到的规则重复造成部分目录和文件无法实现的情况。我想,很多站长都遇到过这种情况吧, 当然我也有过,那个叫折腾来着。 第二步、安装WordPress URL Rewrite 把下载的压缩包解压到任何地方,只要保证WordPressURLRewrite.ini和WordPressURLRewrite32.dll(32位版本,64位版本对应为64.dll)在同一文件夹下就可以了。 然后打开WordPressURLRewrite.ini设置你的博客目录,以及需要排除的目录(如果wordpress安装在空间的根目录,不需要设置,保持默认就行了,如果是二级目前就需要设置一下),如下,代码第一行默认根目前,如果是二级目录123baobao,第二行变成/123baobao/即可。第三行开始是排除静态化的目前,可以自定义)
1
2
3
4
5
6
7
8
#Paths to Rewrite (not case sensitive)
/
#Path Exceptions (not case sensitive)
/wp-admin
/wp%2dadmin
/wp-content
/wp%2dcontent
/Forum
接下来,在IIS中选择相应的站点,在ISAPI筛选器中加载WordPressURLRewrite32.dll就可以了,加载完不用重启IIS,可以停掉网站再启动。 注意:要给dll所在的目录加上IIS_WPG组的写入权限,否则无法加载对应dll文件。(方法在组件所在文件夹中点右键 属性 安全 添加 选择用户和组 输入“IIS_WPG”  检查名称 确定) 如果你的文章、栏目、tag别名均是用的英文的话,那到这里就OK了,下面是针对特殊情况的解决办法。当然国人大多是有中文标签的,所以就是中文tags 不能分页 设置的某些静态页也不能访问 所以下面才是本文的重点: (一)、设置 IIS Rewrite 具体操作方案见 《为wordpress安装IIS Rewrite 组件与配置方法》 安装完成之后在Rewrite 相关文件夹里找到httpd.ini 用文本文件打开添加以下规则
1
RewriteRule /([0-9]+).html /index\.php\?p=$1 [I]
这样本站设置的固定链接/%post_id.html就可以正常访问了 (二)、修改wp-include中的class-wp.php wodpress 3.42文件是class-wp.php 之前的版本可能是classes.php 具体修改方法是 原代码
1
$pathinfo = $_SERVER['PATH_INFO'];
替换为
1
$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], "UTF-8", "GBK");
原代码
1
$req_uri = $_SERVER['REQUEST_URI'];
替换为
1
$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], "UTF-8", "GBK");
下面是常见的几种WordPress固定链接格式 /%post_id%.html /%postname%/ /%year%/%monthnum%/%postname%/ /post/%post_id%.html /%year%/%monthnum%/%day%/%postname%/ /%year%/%monthnum%/%day%/%postname%.html 本站采用的就是 /%post_id%.html 后记:此种方案是比较完美的解决了wordpress在win下伪静态化的问题,但是之前的动态页面还能打开,搜索引擎有可能还会收录之前的动态页面,这样就导致了一个重复收录的问题

win2003+IIS6+PHP5.3.8 安装配置

其实网上的方法也正确,只是在注册PHP 到 FastCGI时内容不全。新版本的PHP5.3通过以往老方法已经不能在IIS上安装了(因为现在php 5.3已经不支持ISAPI了,而是用FastCGI了),现在给出在IIS上安装PHP5.3以后版本的教程。 首先肯定是安装IIS了,具体安装方法可查看:http://down.chinaz.com/server/201102/11_1.htm。 然后下载并安装IIS FastCGI,下载地址:http://www.iis.net/download/fastcgi。选择 x86或者download x86,下载下来名称为 fcgisetup_1.5_rtw_x86.msi。如下图0 安装成功后会在C:\WINDOWS\system32\inetsrv\目录下搞出了5个文件,如下图1 这个时候在IIS 6的"WEB服务扩展"里就多出了一个FastCGI Handler 2 再下载安装IIS下的PHP5.3.8,下载地址http://windows.php.net/download/,(注意IIS下要选择VC9的版本)解压到所需目录,该目录需要给予user读取运行权限。 下面是要配置和修改的内容:
  • 如果你的PHP5.3.8是安装版(即以.msi结尾的)安装完所有的软件就可以直接测试运行,安装过程中已经帮你配置完成。
  • 如果你的PHP5.3.8是压缩版(即以.zip结尾的)安装完后要作以下配置。
1、环境变量修改。我的电脑》属性》高级》环境变量》系统变量 Path=E:\PHP\;(加到最前面,如果没有可以自己建一个。) 2、FastCGI安装目录内的修改(注册PHP 到 FastCGI) 打开C:\WINDOWS\system32\inetsrv\fcgiext.ini文件,在文件最后加上下面的语句:
[Types](这个是文件原来就有的,在[Types]后面加上下面的语句就可以,要全部哦不然会报错的。)
php=PHP

[PHP]
ExePath=E:\PHP\php-cgi.exe
InstanceMaxRequests=10000
ActivityTimeout=600
RequestTimeout=600
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000,PHPRC:E:\PHP\
3、 PHP.ini的修改PHP5.3.8安装目录下是没有PHP.ini这个文件的,只有php.ini-development和php.ini- production,我们把php.ini-development改为php.ini(当然如果你怕有错可以先备份一下)。 注明: 首先建一个文件夹命名为TMP,位置随意我这里放在E:\PHP\tmp。 (upload_tmp_dir会用到,upload_tmp_dir是用来定义上传文件存放的临时路径,这里可以修改并给它定义一个绝对路径,同时需要 有读、写权限。)。用搜索(快捷键:Ctrl+F)的方式把下面的关键字改成现在的值:
short_open_tag = Off    (这个它本来默认就是这样我们就不要改了。)
把;upload_tmp_dir =改为upload_tmp_dir="E:\PHP\tmp"   
把;cgi.force_redirect = 1改为cgi.force_redirect=0      
把;fastcgi.impersonate = 1;改为 fastcgi.impersonate=1;       
把; extension_dir = "ext"改为extension_dir="E:\PHP\ext"   
把;date.timezone =改为date.timezone =PRC(如果不修改date.timezone,打开网页的时候蛮有可能提示500错误。也有人把值改为Asia/Shanghai,我没试过你们可以试试。)
在Windows Extensions中去除扩展前面的分号(;):
; extension=php_curl.dll
; extension=php_gd2.dll
; extension=php_ldap.dll
; extension=php_mbstring.dll
; extension=php_exif.dll
; extension=php_mysql.dll
; extension=php_mysqli.dll
; extension=php_sockets.dll
; extension=php_xmlrpc.dll
4.Internet信息服务(IIS)管理器的修改 1)网站》属性》主目录》配置》添加可执行文件=C:\WINDOWS\system32\inetsrv\fcgiext.dll。扩展名= .php。动作》限制为=GET,HEAD,POST。整个操作如图: 3 4 5 6 2)网站》属性》文档》添加默认内容=index.php。这里全部配置好了,一定要把IIS服务重启一下。 5、测试(一定要重启IIS服务)最后用文本写一段测试代码:
<?php
phpinfo();
>
保存为index.php,名字随便取只要后缀 是.php就可以。把index.php(你写的文件)放到根目录下,我这里是C:\Inetpub\wwwroot,然后在浏览器中输入 http://127.0.0.1/index.php或http://localhost/index.php(两者随便一个就可以效果一样)就可以得 到返回的信息了。返回的信息,如图:7

您试图从目录中执行 CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序。解决方案

以下是解决的方法: 单击操作系统的开始→程序→管理工具→Interneter服务器管理,在IIS中选择您的站点然后右键→属性,在虚拟目录选项中,查看“执行权限”是否设置为“无”,这里改成“纯脚本”保存即可。 如果还不成,那么,在点击上图中的“创建”按钮,创建一个应用程序名称,这样就可以了! 通过上述两步的操作,就没有问题了,我是这样来解决的!

windows2003 出现密码不满足密码策略的要求提示

出现密码不满足密码策略的要求提示   由于域的规约而导致的问题, 问题在于密码设定不符合策略组的规约。 此时需要到域策略中设置 响应选项来降低密码的复杂度。(默认的复杂度需要至少 7 字符,且包含多个字母和数字)   Windows Server 2003 解决办法 是:   选择   开始 > 程序 > 管理工具 > 域安全策略 > 帐户策略 > 密码策略     密码必须符合复杂性要求:由 “ 已启用 ” 改为 “ 已禁用 ” ;     密码长度最小值:由 “7 个字符 ” 改为 “0 个字符 ”   使此策略修改生效有如下方法:     1 、等待系统自动刷新组策略,约 5 分钟 ~15 分钟     2 、重启域控制器(若是修改的用户策略,注销即可)     3 、使用 gpupdate 命令     仅刷新计算机策略: gpupdate/target:computer   仅刷新用户策略: gpupdate/target:user   二者都刷新: gpupdate Windows Server 2008 不一样的是 , 管理员不能从本地策略组中将其密码策略修改 , 而需 要从 GPM(Group Policy Management)" 组策略管理器 " 中进行修改 . 步骤如下 : Windows Server 2008 中 , 打开 GPM(Group Policy Management) 方法 : 依次选择 start( 开始 )->Administrator Tools( 管理者工具 )->Group Policy Management( 组策略管 理器 )->Run as administrator/Open( 使用管理员权限打开 ) 开启 GPM 之后 , 依次展开树状节点 : Forest: [YOUR DOMAIN NAME( 你的域名 )]->domain( 域 )->[YOUR DOMAIN NAME( 你 的域名 )]->Group Policy Object( 组策略对象 ). 右键点击 Default Domain Policy( 默认域策 略 ), 选择 Edit( 编辑 )

Windows 2003 server打开网站的时候会弹出一个“IE增强的安全配置堵塞了来自下列网站的此应用程序内的内容”的窗口

一、问题:

Windows 2003 server打开网站的时候会弹出一个“IE增强的安全配置堵塞了来自下列网站的此应用程序内的内容的窗口,而且显示的网页总是不全,怎样去掉它呢?如下图所示:

1

二、原因:安全设置太高。 三、解决办法: 1、打开IE,在工具—IE选项高级显示增强的安全配置对话框.把前面的钩去掉就可以了。 2、在“添加——删除WINDOWS组件”里,有个“ie增强的安全配置”,删掉它(也就是去掉他前面的勾,点下一步,根据提示操作即可) 3、取消WIN2003中的IE增强安全配置   (1)做为新 Windows 组件出现的 IE 安全插件 -- Internet Explorer Enhanced Security,默认把 IE 安全设置为最高。这样将在访问站点弹出询问框并对浏览网页及文件下载做出阻止的行为。 (2)其实不一定需要这个组件:首先禁止询问框的出现,在弹出的对话框中复选以后不要显示这个信息 (3)然后,可以在 IE 工具选项中自定义设置 IE 的安全级别。

(4)在安全选项卡上拉动滚动条把 Internet 区域安全设置为