发信人: tian.bbs@bbs.tju.edu.cn.no.spam (第五年·深造中), 信区: 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
分享到:
相关推荐
此外,还包括了用于存储数据总字节数(m_ui32ByteCounts)、输入缓冲区(m_ui8InputBuffer)和MD5计算结果(m_szMD5)的变量。 2. **初始化与重置**:CMD5类提供了一个`Reset()`函数,用于将链接变量和计算状态重置...
更新数据后,直接比较`m_sEncrypt`(用户输入字符串的MD5值)和`m_szMD5_2`(预设的MD5值),如果两者相等,则显示信息提示“密文比较结果相同!”,否则提示“密文比较结果失败!”。 4. **事件处理**: `...
该项目是一款基于freeRTOS操作系统和STM32F103x微控制器的手机远程控制浴室温度系统设计源码,共包含1087个文件,包括580个C语言源文件、269个头文件、45个汇编源文件、36个数据文件、36个目标文件、35个编译规则文件、28个包含文件、27个文本文件、6个源文件、3个归档文件。此系统通过手机远程实现对浴室温度的有效控制,适用于智能浴室环境管理。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。