网站采用公司内部框架!全站AJAX技术…
服务器:Linux 2.6.24 Apache2 PHP5.2 Mysql5.0 Svn
站名:复疑
最令人惊讶的是,在Symbian Series60 3rd上运行的Apache和Mysql并不是什么迷你版或者低版本,而是目前应用得比较普遍的5.x版。
目前PAMP已经成功在诺基亚N95 8G版和E90上运行测试通过,只要能满足内存的要求,其它S60 3rd 都能运行。
下面我们来看看PAMP的实现原理,如图:
如果对PAMP感兴趣的朋友,可以点击下载sisx安装包,一共五个文件。
用过thinkphp,fleaphp还有公司自己的框架,但它们给我的感觉就是都比较庞大,功能上不错,但灵活性方面还是不足,当做非常小的小型项目中并不是很好用。
一直想自己写一个框架自己用,最近用thinkphp用得比较熟,所以打算借鉴tp的思想打造个属于自己的框架。在这里不得不好好说下TP真的不错,思想很好,功能上也很强大,做中型项目还是我的首选!
感觉最近一年webgame 发展的非常火,也玩过几款webgame,果然是消磨时间的好东西。。
webgame核心还是php进行服务端的数据处理,js ajax进行客户端的交互操作。
当然还有另一类,采用php做为服务端 flash做为客户端进行交互操作!
因为对php ajax非常熟悉了,准备过段时间做个简单的webgame和朋友一起玩!嘿嘿..
现在正在想game的主题
如果采集下面链接的内容。http://my.mmosite.com/umge/Blog/Item/525f4dc178610c4f07321cc0925cda19.html这是一篇文章,
假设我们只要采集它的文章标题和文章内容。请写出实现代码。
首先用apache生成一个.htpasswd文件,如果觉得麻烦的话可以在线生成一个.htpasswd文件内容。
http://www.4webhelp.net/us/password.php
在上面的网页中输入授权用户的“用户名”和“密码”,然后将生成的字符内容复制到记事本中,用上面一步的方法保存为“.htpasswd”文件。
然后输入.htaccess内容。。
一:安装网络流量监视[默认5分钟采集一次]
切换到超级用户:
sudo -sH
安装软件:
apt-get install apache2
apt-get install mrtg
apt-get install snmpd
编辑snmpd:
vim /etc/snmp/snmpd.conf
查找到类似的行,修改为如下所示:(仅仅修改屏蔽或放开)
# sec.name source community
# com2sec paranoid default public # kommentieren
com2sec readonly default public # <- auskommentieren
#com2sec readwrite default private
重启snmpd服务:
/etc/init.d/snmpd restart
重新生成mrtg的配置文件:
cfgmaker public@localhost > /etc/mrtg.cfg
(注意)如果仅仅监视一个IP地址采用如下命令:
cfgmaker public@192.168.0.1 >> /etc/mrtg.cfg
生成mrtg的主页:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
二安装CPU负载监视[默认5分钟采集一次]
切换到超级用户:
sudo -sH
安装软件:
apt-get install sysstat
建立CPU脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.cpu
#!/bin/bash
cpuusr=`/usr/bin/sar -u 1 3 | grep Average | awk ‘{print $3}’`
cpusys=`/usr/bin/sar -u 1 3 | grep Average | awk ‘{print $5}’`
UPtime=`/usr/bin/uptime | awk ‘{print $3""$4""$5}’`
echo $cpuusr
echo $cpusys
echo $UPtime
hostname
使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.cpu
修改 /etc/mrtg.cfg 在文件最后加入cpu项目
Target[cpu]: `/opt/mrtg/mrtg.cpu`
MaxBytes[cpu]: 100
Options[cpu]: gauge, nopercent, growright
YLegend[cpu]: CPU loading (%)
ShortLegend[cpu]: %
LegendO[cpu]: CPU us;
LegendI[cpu]: CPU sy;
Title[cpu]: CPU Loading
PageTop[cpu]: <H1>CPU Loading</H1>
重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
三安装WWW连接数监视[默认5分钟采集一次]
切换到超级用户:
sudo -sH
建立WWW脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.www
#!/bin/bash
all=`netstat -a | grep www|awk ‘{print $5}’|sort | wc -l|awk ‘{print$1 – 1}’`
user=`netstat -a | grep www|awk ‘{print $5}’|cut -d":" -f1|sort| uniq |wc -l | awk ‘{print $1 – 1}’`
if [ "$all" = "-1" ]; then
echo 0
else
echo $all
fi
if [ "$user" = "-1" ]; then
echo 0
else
echo $user
fi
UPtime=`/usr/bin/uptime | awk ‘{print $3 " " $4 " " $5}’`
echo $UPtime
hostname
使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.www
修改 /etc/mrtg.cfg 在文件最后加入www项目
Target[www]: `/opt/mrtg/mrtg.www`
MaxBytes[www]: 500
Options[www]: nopercent, growright
YLegend[www]: Online Users
ShortLegend[www]: %
LegendI[www]: Connect :
LegendO[www]: Online :
Title[www]: WWW Connect
PageTop[www]: <H1> WWW Connect </H1>
重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
四安装内存使用监视[默认5分钟采集一次]
切换到超级用户:
sudo -sH
建立RAM脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.ram
#!/bin/bash
# run this script to check the mem usage.
totalmem=`/usr/bin/free |grep Mem |awk ‘{print $2}’`
usedmem=`/usr/bin/free |grep Mem |awk ‘{print $3}’`
UPtime=`/usr/bin/uptime | awk ‘{print $3""$4""$5}’`
echo $totalmem
echo $usedmem
echo $UPtime
hostname
使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.ram
修改 /etc/mrtg.cfg 在文件最后加入ram项目
Target[ram]: `/opt/mrtg/mrtg.ram`
#Unscaled[ram]: dwym
MaxBytes[ram]: 2048000
Title[ram]:Memory
ShortLegend[ram]: &
kmg[ram]:kB,MB
kilo[ram]:1024
YLegend[ram]: Memory Usage :
Legend1[ram]: Total Memory :
Legend2[ram]: Used Memory :
LegendI[ram]: Total Memory :
LegendO[ram]: Used Memory :
Options[ram]: growright,gauge,nopercent
PageTop[ram]:<H1>Memory</H1>
重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
五安装FTP连接数监视[默认5分钟采集一次]
切换到超级用户:
sudo -sH
建立FTP脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.ftp
#!/bin/bash
all=`netstat -a | grep ftp|awk ‘{print $5}’|sort | wc -l|awk ‘{print$1 – 1}’`
user=`netstat -a | grep ftp|awk ‘{print $5}’|cut -d":" -f1|sort| uniq |wc -l | awk ‘{print $1 – 1}’`
if [ "$all" = "-1" ]; then
echo 0
else
echo $all
fi
if [ "$user" = "-1" ]; then
echo 0
else
echo $user
fi
UPtime=`/usr/bin/uptime | awk ‘{print $3 " " $4 " " $5}’`
echo $UPtime
hostname
使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.ftp
修改 /etc/mrtg.cfg 在文件最后加入ftp项目
Target[ftp]: `/opt/mrtg/mrtg.ftp`
MaxBytes[ftp]: 500
Options[ftp]: nopercent, growright
YLegend[ftp]: Online Users
ShortLegend[ftp]: %
LegendI[ftp]: Connect :
LegendO[ftp]: Online :
Title[ftp]: FTP Connect
PageTop[ftp]: <H1> FTP Connect </H1>
重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
六安装CPU温度监视[默认5分钟采集一次]
切换到超级用户:
sudo -sH
安装软件:
apt-get install mbmon
建立CPU温度脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.temp
#!/bin/bash
/usr/bin/mbmon -c 1 -i -T 4 -u -n
exit 0
使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.temp
修改 /etc/mrtg.cfg 在文件最后加入cpu项目
Target[temp]: `/opt/mrtg/mrtg.temp`
MaxBytes[temp]: 100
Title[temp]: CPU Temperature
PageTop[temp]: <H1>CPU Temperature</H1>
Options[temp]: gauge,absolute,unknaszero,growright
YLegend[temp]: Temperature(C)
ShortLegend[temp]: (C)
Legend1[temp]: CPU Temperature
Legend2[temp]: M/B Temperature
LegendI[temp]: CPU Temp.
LegendO[temp]: M/B Temp.
重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
七硬盘读写监视[默认5分钟采集一次]
切换到超级用户:
sudo -sH
建立硬盘读写脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.disk
#!/bin/bash
hd=sda
disk=/dev/$hd
UPtime=`/usr/bin/uptime |awk ‘{print $3""$4""$5}’`
KBread_sec=`iostat -x $disk|grep $hd |awk ‘{print 8$}’`
KBwrite_sec=`iostat -x $disk|grep $hd |awk ‘{print 9$}’`
echo $KBread_sec
echo $KBwrite_sec
echo $UPtime
hostname
使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.disk
修改 /etc/mrtg.cfg 在文件最后加入硬盘读写
Target[disk]: `/opt/mrtg/mrtg.disk`
Title[disk]: Disk HDA I/O Utilization Report
#Unscaled[disk]: dwym
MaxBytes[disk]: 10240000
PageTop[disk]: <H1>Disk I/O Utilization Report</H1>
kmg[disk]: KB,MB,GB
LegendI[disk]: Disk I/O KBread/sec
LegendO[disk]: Disk I/O KBwrite/sec
Legend1[disk]: Disk I/O KBread/sec
Legend2[disk]: Disk I/O KBwrite/sec
YLegend[disk]: Megabytes
ShortLegend[disk]: &
Options[disk]: growright,gauge,nopercent
重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
八:磁盘使用
切换到超级用户:
sudo -sH
建立磁盘使用脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.df
#!/usr/bin/perl
foreach $filesystem (`df -kl | grep -v "Filesystem"`)
{
@df = split(/\s+/,$filesystem);
$total += $df[1];
$usage += $df[2];
}
print "$total\n";
print "$usage\n";
hostname
使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.df
修改 /etc/mrtg.cfg 在文件最后加入
Target[disk]: `/opt/mrtg/mrtg.df`
Title[disk]: Disk Space
Unscaled[disk]: dwym
MaxBytes[disk]: 465247550
kmg[disk]: KB,MB,GB
LegendI[disk]: Total Disk Space
LegendO[disk]: Used Disk Space
Legend1[disk]: Total Disk Space
Legend2[disk]: Used Disk Space
YLegend[disk]: Megabytes
ShortLegend[disk]: &
Options[disk]: growright,nopercent
PageTop[disk]: <H1>Disk Space</H1>
重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
九:交换分区
切换到超级用户:
sudo -sH
建立交换分区脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.swap
#!/bin/bash
# This script to monitor the swap usage.
totalswap=`/usr/bin/free |grep Swap |awk ‘{print $2}’`
usedswap=`/usr/bin/free |grep Swap |awk ‘{print $3}’`
echo "$totalswap"
echo "$usedswap"
使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.swap
修改 /etc/mrtg.cfg 在文件最后加入
Target[swap]: `/opt/mrtg/mrtg.swap`
MaxBytes[swap]: 2048000
Title[swap]:Memory State of Server
ShortLegend[swap]: &
kmg[swap]:kB,MB
kilo[swap]:1024
YLegend[swap]: Swap Usage
Legend1[swap]: Total Swap
Legend2[swap]: Used Swap
LegendI[swap]: Total Swap
LegendO[swap]: Used Swap
Options[swap]: growright,gauge,nopercent
PageTop[swap]:<H1>Swap</H1>
重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
* Target[裝置名稱]:
o Target[adj.idv.tw_2]: 2: public@192.168.1.2
上面是一般的用法,其中半括號內的是裝置的名稱,同一個裝置的各參數中,這個名稱要一致!
o Target[adj.idv.tw_3]:`/usr/local/apache/htdocs/mrtg/cpu/mrtg.cpu`
後面接的是一個自訂的加掛的可執行檔案,這個檔案執行之後,會顯示四個數據,這樣就可以繪圖了!在繪製非 MRTG 程式的預設咚咚中,這個是最常使用的方法了!
* MaxBytes[裝置名稱]:
o MaxBytes[adj.idv.tw_2]: 1250000
後面的數字代表資料監測時,最大的傳送速率,使用 bytes,所以 10Mbps 則為 1.25MBytes,大約是 1250000 Bytes。這個數值程式會自動判斷啦!不過你也可以自己修改,用到這個數字的時候是在你的圖表下方,每一個說明後面的(xx%)時用到的。
o MaxBytes[adj.idv.tw_3]: 100
如果你的資料並不是 Bytes 時,例如監測 CPU 負載率時,那這個數值就需要改變啦!
* Options[裝置名稱]:
o Options[adj.idv.tw_2]: growright, bits (用在網路流量中)
o Options[adj.idv.tw_3]: growright, nopercent, gauge (用在 CPU 負載中)
growright:將資料隨時間變化的順序以右而左繪圖;
bits:資料單位為 bits;
nopercent:在圖下方的說明文字中,不顯示百分比;
gauge:圖表的上限固定!
最终效果: