squid 反向代理加速

[不指定 2009/07/31 22:47 | by Totti ]
Cache Server采用的软件是Windows下的squid软件,版本为squid-2.7.STABLE5。
你可以到如下网站获取最新版本的squid for windows NT
地址 http://www.acmeconsulting.it/SquidNT.htm

1. 解压到 c:\squid (必须)

2. 修改配置文件文件名
 Copy and rename the follwing files:
 squid.conf.default ==> squid.conf
 mime.conf.default ==> mime.conf
 cachemgr.conf.default ==> cachemgr.conf

3. 建立c:\squid\var目录,在var目录下建立logs和cache目录,其中logs目录用于存放日志,cache目录用于存放硬盘缓存数据

4. 修改配置文件squid.conf
# 监听80端口,并配置为加速模式
http_port 80 vhost
# cache服务器之间通信的端口UDP
icp_port 3130
# cache目录和大小的设置,1GB硬盘空间和256M内存
cache_dir ufs c:/squid/var/cache 1024 16 256   # 根据3步可以改到其他分区和路径
cache_mem 256 MB
# 设置上级根服务器的地址,也就是电信源服务器地址
# 当然cache_peer还可以设置兄弟节点、上级cache服务器等等,这里这设置了源服务器地址
cache_peer nuaa.js.cn parent 80 0 no-query originserver
# 允许所有用户访问
http_access allow all
# 缓存管理员
cache_mgr admin@nuaa.js.cn  # 你自己的电子邮件地址

5. 将镜像域名 www.nuaa.js.cn 指向镜像服务器,而在原虚拟主机上加入对域名 www.nuaa.js.cn 的解析。

6. 初始化cache目录
开始-运行-cmd,输入如下3条命令。
cd c:\squid\sbin
squid -i
squid -z
如果配置文件出错的话,初始化cache目录将会出错。

7. 启动Squid服务
net start squid

8. 访问 www.nuaa.js.cn 就可以看到 nuaa.js.cn 的内容了。

这要说明的是,我的镜像主机是学校内网的电脑,也就是我自己的电脑。假设客户机同样在内网,客户机通过镜像主机第一次访问某个页面的速度实际上是服务器访问这个页面的速度。当第二个客户访问相同的页面时,将直接访问镜像服务器的缓存内容。因而起到加速的作用。

其他squid命令
squid -k reconfigure  //启用新的配置文件
squid -k rotate       //截断日志
squid -k shutdown     //stop squid

如果加速多个站点可以这样配置[1]:

# 设置hosts文件进行方向代理的域名解析
hosts_file c:/squid/etc/hosts.conf
# 如果没有此文件,通过记事本建立之

hosts.conf格式如下:
127.0.0.1  www.nuaa.js.cn
127.0.0.1  nuaa.js.cn
127.0.0.1  bbs.nuaa.js.cn

参考资料:
[1] http://blog.donews.com/tabris17/archive/2006/10/19/1063464.aspx
[2] http://www.liuyebo.com/bbs/thread-625-1-1.html
[3] http://www.squid-cache.org
[4] http://www.acmeconsulting.it/SquidNT.htm
[5] http://fanqiang.chinaunix.net/adm/other/2006-05-18/4196.shtml

QQ链接用FIREFOX打开

[不指定 2009/07/28 10:55 | by Totti ]
如果设置FIREFOX为默认浏览器之后,QQ的链接还是用IE打开,那请将下面代码保存为REG注册表文件,合并。注意FIREFOX的路径修改为你本地实际安装的路径。
indows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\HTTP\shell]
@="Firefox"

[HKEY_CLASSES_ROOT\HTTP\shell\Firefox]

[HKEY_CLASSES_ROOT\htmlfile\shell]
@="Firefox"

[HKEY_CLASSES_ROOT\HTTP\shell\Firefox\command]
@="C:\\Program Files\\Mozilla Firefox\\FIREFOX.EXE -url \"%1\""

[HKEY_CLASSES_ROOT\htmlfile\shell\open\command]
@="C:\\Program Files\\Mozilla Firefox\\FIREFOX.EXE -url \"%1\""

[HKEY_CLASSES_ROOT\htmlfile\shell\Firefox\command]
@="C:\\Program Files\\Mozilla Firefox\\FIREFOX.EXE -url \"%1\""
原因:当smtp服务器反应慢或者网络比较慢时,DZ在未收到smtp服务器的回应之前就过早地把连接关闭掉,于是smtp服务器就弃掉了邮件,出现邮件被吞掉的假象。这种现象在smtp服务器及网络速度都较快时是不会出现,邮件能正常送出。
但为什么会过早地关掉连接呢?因为这是一个BUG,而且翻查后发现,这个BUG原来从旧版本一直沿袭至今。修补办法如下:

打开include\sendmail.inc.php文件
找到fputs($fp, "QUIT\r\n");这一行
在这一行之前插入如下代码:

$lastmessage = fgets($fp, 512);
if(substr($lastmessage, 0, 3) != 250) {
$errorlog('SMTP', "($mail[server]mail[port]) DATA - $lastmessage", 0);
}


经修正后,DZ会等待smtp服务器的正式回应后才会把连接关闭掉,保证了邮件正常发送。

转载自:
http://www.discuz.net/thread-727394-1-1.html
下载解压,里面有两个种子,一个是WIN7 一个是中文语言包。

下载文件 (已下载 769 次)

eaccelerator调整

[不指定 2009/04/21 13:38 | by Totti ]
php-eaccelerator 官方網站: http://www.eaccelerator.net/

由於 PHP 屬於直譯語言,因此當放在 Web 伺器器上的 PHP 程式碼被瀏覽者所讀取時,系統為了要執行 PHP 程式碼就必須要使用直譯器(interpreter),將 PHP 程式碼翻譯成電腦系統看得懂(或可以執行)的語言。這個直譯的動作是非常耗費系統資源的,而直譯語言的特性偏偏就是每次執行前都要先進行直譯的動作,因此當您放在 Web 伺服器上的 PHP 程式碼被 1000 個 client 讀取時,系統就要進行 1000 次的直譯動作。而 PHP 加速器的功能就是會把被這些 PHP 程式碼快取(Cache)起來,也就是同一支程式碼只要被直譯一次而已,藉此大幅降低系統的負載。自己個人的經驗是:若你的 Web 伺服器流量非常大,有沒有使用 PHP 加速器會有非常大的差別。

php-eaccelerator 的安裝很容易,但麻煩的是後續的調整。一般來講,若你會需要安裝加速器通常就代表你遇上了效能的瓶頸,也就是系統負載過大所以才需要安裝它;但是 php-eaccelerator 有 BUG,當系統負載過大,php-eaccelerator 需要消除 Share Memory 中的老舊資料時,會導致 apache 出現如下的錯誤訊息並使 CPU 使用率衝上 100%,最後終將致使伺服器當機。


引用:
[Wed Feb 28 14:39:40 2007] [notice] child pid 18449 exit signal Segmentation fault (11)

就是因為負載過高才需要裝它,偏偏負載過高裝了它又會造成伺服器當機,很矛盾不是嗎?所幸經過適當的調整後,即可避免上述的情況發生。php-eaccelerator 的安裝很容易,這裡就不多做說明,至於設定則是要修改 php-eaccelerator 的系統設定檔(/etc/php.d/eaccelerator.ini),設定完後請記得重新啟動 Web 伺服器。
引用:
/etc/php.d/eaccelerator.ini:
zend_extension="/usr/lib/php/modules/eaccelerator.so"
eaccelerator.shm_size = "500"
==>預設是32MB,這裡設為500MB

eaccelerator.cache_dir = "/var/cache/php-eaccelerator"
eaccelerator.enable = "1"
eaccelerator.optimizer = "0"
==>預設是 1 (開啟),這裡設為 0 (關閉)

eaccelerator.debug = "0"
eaccelerator.log_file = "/var/log/httpd/eaccelerator_log"
eaccelerator.name_space = ""
eaccelerator.check_mtime = "1"
eaccelerator.filter = ""
eaccelerator.shm_max = "0"
eaccelerator.shm_ttl = "0"
==>預設是3600,這裡設為0,也就是不移除Share Memory中的任何資料。

eaccelerator.shm_prune_period = "0"
eaccelerator.shm_only = "0"
eaccelerator.compress = "1"
eaccelerator.compress_level = "9"
eaccelerator.keys = "shm_and_disk"
eaccelerator.sessions = "shm_and_disk"
eaccelerator.content = "shm_and_disk"



大致上要注意的有以下幾點:
調高php-eaccelerator可使用的Share Memory大小:
eaccelerator.shm_size = "500"
.
關閉最佳化功能
eaccelerator.optimizer = "0"
.
禁止php-eaccelerator清除Share Memory中的資料:
eaccelerator.shm_ttl = "0"
eaccelerator.shm_prune_period = "0"
.
每日定時清除cache資料與Share Memory,並重新啟動httpd。
新增 /etc/cron.daily/restart_httpd:
/sbin/service httpd stop
rm -rf /var/cache/php-eaccelerator/*
/sbin/service httpd start

CSS模板收集地址

[不指定 2009/03/10 09:07 | by Totti ]
http://www.freecsstemplates.org/
分页: 17/50 第一页 上页 12 13 14 15 16 17 18 19 20 21 下页 最后页 [ 显示模式: 摘要 | 列表 ]