szmd安装方法

阅读更多
发信人: [email protected] (第五年·深造中), 信区: BBSDev
标  题: ytht szmd 安装笔记
发信站: 天大求实BBS站 (Sun Jan  8 21:12:07 2006)
转信站: CUMT!bbsnews.sdu.edu.cn!news2.happynet.org!TJUBBS

2006年1月5号我考完大学里最后一门课,开始捉摸缩图的问题,用了1天时间弄出来了。:)
贴出来与大家分享,特别感谢Fishingsnow,ylsdd,BunnyQ的帮助。

必要性:
1 减小全站的流量,这是当初ytht的主要目的。tjubbs对比lqqm,流量竟然相差不大。
2 减小对客户端浏览器的冲击,对于像我这样的破烂机器,打开一个有10M图片的主题,
   机器要停顿几十秒。
3 对于大多数图片来说,没必要一下子展示那么大,那么清晰,必要的时候再展开。

分析步骤:

1.分析yjrg,lqqm的缩图现象,可以判断是比较图片大小,超过后就会缩图
2.分析bbscon.c 通过加S=1的参数来显示缩小后的图片,
   在代码目录下 grep szm_box_jpg tjpg_ctx SZM 等关键字,找到相关文件。
3.通过http://ytht.net/cgi-bin/trac.cgi浏览nju09/bbscon.c 版本历史
4.找到szm/目录,察看所有文件的变化过程,由于svn的特性可以看到关联的文件更改
5.通过svn下载最新的ytht代码,把szm目录放在测试机对应目录下,根据svn修改
   ythtlib/szm.c szm.h Makefile ythtlib.h
   nju09/bbslib.h bbsmain.c
6.在szm/下make all,根据出错信息来安装软件,主要是GD,libpng,libjpeg。
   要求: GD > 2.0 依赖 gdImageCreateTrueColor function
         如果安装有1.8.4等低版本应该卸载或者删除,否则安装还会出错。
7.make all正常后会生成szmd,拷贝到BBSHOME/bin
8.用root创建/tmp/szm/dev,将/dev/null链接到/tmp/szm/dev/null
   用root运行szmd
9.客户端(BBS主服务器)touch BBSHOME/TJPG_SERVER,加入图片压缩服务器的IP
   之后即可启用服务器端的图片压缩.
   (如果用同一台机器既做服务器又作客户端的话,写127.0.0.1就行了)
10.后面主要功夫花在修改bbscon.c上,由于tjubbs的这部分修改很多,不能直接copy。
   比较保险的做法是修改一部分,make一下看看,如果错误不是太离谱,就接着修改。
   http://bbs.tju.cn/bbsdev/tjubbs/nju09/bbscon.c?r1=1.27&r2=1.28
   http://bbs.tju.cn/bbsdev/tjubbs/nju09/bbscon.c?r1=1.28&r2=1.29
11.还可以增加szmcache,这样对于同一个图片就避免了反复调用压缩。
   增加szmcache,主要参考一下修改bbscon.c,tjubbs近期也会添加szmcache。
   http://ytht.net/cgi-bin/trac.cgi/changeset/7033
   http://ytht.net/cgi-bin/trac.cgi/changeset/6838

你可能感兴趣的:(bbs,tju)