Site menu:

 

11月 2008
« Oct    
 12
3456789
10111213141516
17181920212223
24252627282930

分类

最新日志

最新评论

Site search

标签

存档页

Links:

Archive for '学习资料'

wordpress Zeus Web Server UrlRewrite 规则

RULE_0_START:
# get the document root
map path into SCRATCH:DOCROOT from /
# initialize our variables
set SCRATCH:ORIG_URL = %{URL}
set SCRATCH:REQUEST_URI = %{URL}
# see if theres any queries in our URL
match URL into $ with ^(.*)\?(.*)$
if matched then
set SCRATCH:REQUEST_URI = $1
set SCRATCH:QUERY_STRING = $2
endif
RULE_0_END:
RULE_1_START:
# prepare to search for file, rewrite if its not found
set SCRATCH:REQUEST_FILENAME = %{SCRATCH:DOCROOT}
set SCRATCH:REQUEST_FILENAME . [...]

Debian下一个网卡绑定多个ip的方法

Debian下一个网卡绑定多个ip的方法(NetDC)
修改/etc/network/interfaces
auto eth0
iface eth0 inet static
address 172.16.3.123
netmask 255.255.255.0
network 172.16.3.0
broadcast 172.16.3.255
gateway 172.16.3.1
auto eth0:1
iface eth0:1 inet static
address 10.16.3.123
netmask 255.255.0.0
network 10.16.0.0
broadcast 10.16.255.255
修改/etc/network/ifstate
lo=lo
eth0=eth0
eth0:1=eth0:1
然后/etc/init.d/networking restart就可以了。

一个asp采集程序类

‘==================================================
‘函数名:GetHttpPage
‘作 用:获取网页源码
‘参 数:HttpUrl ——网页地址
‘==================================================
Function GetHttpPage(HttpUrl)
If IsNull(HttpUrl)=True Or Len(HttpUrl)0 Then
If Right(PrimitiveUrl,1)=”/” Then
DefiniteUrl=”http:\\” & PrimitiveUrl
Else
If Instr(PriArray(Ubound(PriArray)-1),”.”)>0 Then
DefiniteUrl=”http:\\” & PrimitiveUrl
Else
DefiniteUrl=”http:\\” & PrimitiveUrl & “/”
End If
End If
Else
If Right(ConsultUrl,1)=”/” Then
DefiniteUrl=ConsultUrl & PrimitiveUrl
Else
DefiniteUrl=Left(ConsultUrl,InstrRev(ConsultUrl,”/”)) & PrimitiveUrl
End If
End If
Else
If Instr(PrimitiveUrl,”.”)>0 Then
If Right(ConsultUrl,1)=”/” Then
If right(LCase(PrimitiveUrl),3)=”.cn” or right(LCase(PrimitiveUrl),3)=”com” or right(LCase(PrimitiveUrl),3)=”net” or right(LCase(PrimitiveUrl),3)=”org” Then
DefiniteUrl=”http:\\” & PrimitiveUrl & “/”
Else
DefiniteUrl=ConsultUrl & PrimitiveUrl
End If
Else
If right(LCase(PrimitiveUrl),3)=”.cn” or right(LCase(PrimitiveUrl),3)=”com” or right(LCase(PrimitiveUrl),3)=”net” [...]

使用mod_cband管理Apache 2带宽和流量

mod_cband是一个通过Apache 2模块来解决限制用户和虚拟主机带宽问题的应用,当前版本可以调整虚拟主机和用户带宽限额,最高下载速度(like in mod_bandwidth),每秒访问请求速度和最高并发访问ip连接数(like in mod_limitipconn)。
“我告诉主机服务提供商使用mod_cband,想要限制他们用户数据传输,像“每月10 Gb流量”这样。但已有了mod_curb模块,可以限制流量,但无法工作在虚拟主机和Apache 2下,所以我写了自己的模块完全适合于Apache 2 API同时支持每用户和每虚拟主机带宽限制。”(此段翻译自官方网站)
FreeBSD ports path and pkg-descr info
/usr/ports/www/mod_cband
mod_cband is an Apache 2 module provided to solve the problem of limiting virtualhosts bandwidth usage. When the configured virtualhost’s transfer limit is exceeded, mod_cband will redirect all further requests to a location specified in the configuration file.
好了,说道这里我想这个模块的精髓之处在于完美的支持Apache 2并实现了原有两个模块的全部功能(2in1)且支持每用户和每虚拟主机带宽限制。这在进行web平台应用与整合之时给我们提供了又一易用的方法。准备动手吧!文中实例与系统平台均基于freebsd6.1平台。
提示:
在进行实际操作之前请确保你的ports tree已经同步到当前版本。具体方法请参考http://cnsnap.cn.freebsd.org/doc … [...]

MySQL一些实用的操作 不断添加中

1,mysql 忘记root密码
mysql忘记root密码该怎么办当忘记MySQL的root密码的时候,可以进行如下的步骤重新设置MySQL的root密码:
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的
状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对
外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全
状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。
2.修改MySQL的登录设置:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
skip-grant-tables
保存并且退出vi。
3.重新启动mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
4.登录并修改MySQL的root密码
# /usr/bin/mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql> USE mysql ;
Reading table information for completion of table and [...]

IIS网站防盗链下载的解决方案

 “盗链”的定义是:此内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容。 常常是一些名不见经传的小网站来盗取一些有实力的大网站的地址(比如一些音乐、图片、软件的下载地址)然后放置在自己的网站中,通过这种方法盗取大网站的空间和流量。
  为什么会产生盗链
  一般浏览有一个重要的现象就是一个完整的页面并不是一次全部传送到客户端的。如果请求的是一个带有许多图片和其它信息的页面,那么最先的一个Http请求被传送回来的是这个页面的文本,然后通过客户端的浏览器对这段文本的解释执行,发现其中还有图片,那么客户端的浏览器会再发送一条Http请求,当这个请求被处理后那么这个图片文件会被传送到客户端,然后浏览器回将图片安放到页面的正确位置,就这样一个完整的页面也许要经过发送多条Http请求才能够被完整的显示。基于这样的机制,就会产生一个问题,那就是盗链问题:就是一个网站中如果没有起页面中所说的信息,例如图片信息,那么它完全可以将这个图片的连接到别的网站。这样没有任何资源的网站利用了别的网站的资源来展示给浏览者,提高了自己的访问量,而大部分浏览者又不会很容易地发现,这样显然,对于那个被利用了资源的网站是不公平的。一些不良网站为了不增加成本而扩充自己站点内容,经常盗用其他网站的链接。一方面损害了原网站的合法利益,另一方面又加重了服务器的负担。
  我遇到的盗链
  我的网站遇到最多的是两类盗链,一是图片盗链,二是文件盗链。曾经有一个访问量极大的网站盗链我网站的图片,一天竟然消耗了数G的流量。同时,我站放的不少几十兆的大型软件也常遭到文件盗链,大量消耗我站资源。
  盗链的解决方案
  其实通过WEB服务器的URL过滤技术,这个伤脑筋的问题会很容易得到解决。 
  如果WEB服务器用的是APACHE的话,那么使用APACHE自带的Url Rewrite功能可以很轻松地防止各种盗链,其原理是检查REFER,如果REFER的信息来自其他网站则禁止访问所需要的资源。
  那么,IIS支持UrlRewrite吗?
  答案很简单,不支持。但是我们可以通过安装第三方服务器扩展让IIS支持。
  目前有一种产品能比较好地支持IIS的UrlRewrite,名字叫ISAPI_Rewrite。
  下载地址在: http://www.helicontech.com/download/
  这里只有ISAPI Rewrite的一个LITE版本是免费的,其它都是trial版本。ISAPI Rewrite Lite的版本功能不支持虚拟站点配置,元数据监测和自动缓存清理。 但是基本的UrlRewrite功能都支持。
  如何进行UrlRewrite的设置?
  isapi_rewrite利用正则表达式进行替换规则的表示。
  下面是一个简单的例子,我想让我们的用户输入 http://localhost/test-12314.html 实际上访问的是 http://localhost/test.asp?id=12314 。那么我们的匹配表达式应该是 /test-([0-9]*).html 对应的格式化表达式应该为 /test.asp\?id=$1 。
  进行正则表达式的编写的时候,可以利用isapi_rewrite提供的正则表达式测试工具(默认安装提供),进行调试。做好了匹配表达式和格式化表达式,我们可以把它们放到安装目录下的httpd.ini里面。文件保存后,不需重新启动iis即可生效。
  对于我的网站,我防盗链的方法是在httpd.ini里面加入如下语句
RewriteCond Host: (.+)
RewriteCond Referer: (?!http://\1. *).*
RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]
  然后重启IIS,这时防盗链就开始起作用了,其他网站盗链过来的请求都会被拒绝。
  至此,我也终于可以摆脱了被盗链的烦恼了。
 

wordpress数据库utf8之路

转化数据库方法按照本站提供的办法
mysqldump -uroot -p –default-character-set=latin1 –set-charset=utf8 –skip-opt dbname > dbname.sql
mysql -p
CREATE DATABASE `newdbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
mysql -uroot -p –default-character-set=utf8 -f  newdbname < dbname.sql
更改WordPress程序中wp-includes/wp-db.php的文件更改
$this->dbh = @mysql_connect($dbhost,$dbuser,$dbpassword);
//加上下面這行
$this->query(”SET NAMES ‘utf8′”);
 wp安装目录下的wp-config.php 文件,把里面数据库相应的参数修改为 新的数据库名字。

安装Debian提示检测不到光驱的解决方法 (转 声仔blog)

 其实这个是很早的问题了,出现在Debian Sarge 3.1的版本,Linux 2.6 kernel上,特别是比较旧的SATA主板出现这个问题的几率挺大。据说testing的Etch也有这个问题,不过我一直没有碰到过。
在安装的过程中,Debian Installer会检测光驱,并且从光驱拷贝安装文件。其实挺邪门的,本来就是从光驱启动进入安装界面,但到这个步骤光驱会被重新检测一遍。然后ata-piix这个模块有BUG,所以在这步造成了CD-ROM检测不到,之后提示下面的错误:
No common CD-ROM drive was detected.
You may need to load additional CD-ROM drivers from a driver floopy, If you have such a floppy available now, put it in the drive, and continue. Otherwise, you will be given the option to manually select CD-ROM modules.
解决问题的方法也比较简单,在光盘启动出现红色Debian LOGO的时候,会有命令行提示输入命令,这个时候用expert方式进入(可以按F1查看帮助),在等到读取光驱前一步会提示选择驱动模块,然后把ata-piix这个模块去掉,基本就可以检测到光驱了。
但还有一点比较重要的需要注意,安装程序走到检测硬盘并且分区的时候,同样会出现这样一个驱动模块选择,这个时候*必须*要把ata-piix加载,否则会找不到硬盘。
如果主板真的是这么顽固,到这步都还是不行,那么下面有一篇文章可以参考:
http://www.linuxsir.org/bbs/showthread.php?s=&threadid=156776
当然,也可以尝试使用netinst.iso来安装。不过这个方法我没用过,不一定行得通。

mysql4.0数据库升级4.1

原来mysql4.0数据升级成4.1没那么简单,不是简单的把data的数据库目录复制就可以的!昨天在网上找了3-4个小时 然后自己不断的试验,终于搞定了!原来4.1加入了字符集的概念,简单的把mysql4.0数据复制到4.1 99%乱码,正确的方法如下
1,从4.0一下版本导出数据
mysqldump -uroot -p –default-character-set=latin1  dbname > dbname.sql
//把4.0的数据导出用latin1字符集 –default-character-set 以前数据库的字符集,这个一般情况下都是latin1的
2,导入到4.1
mysql -uroot -p –default-character-set=latin1 -f  dbname < dbname.sql
3,4.1导出数据并转化成gbk
mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt dbname > dbname.sql
4,创建一个GBK字符集的数据库
mysql -p
CREATE DATABASE `newdbname` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
5,导入gbk字符集的数据库
mysql -uroot -p –default-character-set=gbk -f  newdbname < dbname.sql
有些字符可能转化不过来 数据倒不进去 目前没有解决办法

Zeus 4.3r3 FreeBSD5 在 FreeBSD 6 上安装补充

Zeus 4.3r3 自带php 但模块少,而且无法更新到新版本的php,所以我们需要自己来安装一个php
了解到zeus运行php的模式是fastcgi,下面安装就简单了
1,安装php
cd /usr/ports/lang/php4 如果你想安装php5 就是/usr/ports/lang/php5 安装方法应该一样 我们试过大家可以试试
make install clean 注意当中需要选择fastcgi
2,zeus配置php
非常简单了
cd /usr/local/zeus/php
rm php.zeus 删除掉自带的php
ln -s /usr/local/bin/php-cgi php.zeus
把新安装的php做个连接
访问 http://your.com:9090 (你的域名地址或IP地址)
用户名 admin 密码:刚才设定的密码
进入Zeus管理控制台,点Create a Virtual Server 把相关的六个选项填好 不多说
注意:1. 指向的web目录要有权限读 2. 如果在 Host Name and Port 写域名,请确定该域名是绑定到当前IP的,否则请填写当前服务器IP地址
进入刚刚加入的virtual server,点Third Party中的PHP
Enabling PHP Support:选 Enabled
一切ok了