您是否知道博客创作与 UNIX(R) 携手前行?UNIX 内置的 Web 和文本处理工具使您能够方便快捷地创建博客。探索一些用于改进 UNIX 博客创作技能的便利技巧。
UNIX® 和网络博客或博客 具有许多共同之处。除了作为大多数 Web 服务器的本机环境和许多 Web 开发人员的首选环境之外,由于其强大的 Web 和文本处理能力,UNIX 还是用于创建博客的理想环境。利用 UNIX 所固有的命令行工具和特性来使您成为更优秀的博客所有者。下面是一些帮助您实现该目的的技巧。
不断提供新鲜内容
博客创作的最重要规则是做得尽可能多。总体思想在于,您的博客应该更类似滚动的自动收报机纸条,甚至更类似电视画面的运动,而不是类似从考古井中拔出的一些蚀刻片断。它应该始终不断增长,并且读者在访问时应该获得新鲜感。就网站这种媒体而言,有多少访问者在积极地阅读它们,差不多就有多少访问者在观看 它们——访问链接、重新加载和返回。要在这样的网站上取得成功,您就必须适应这一点。
虽然您不需要为此而安装任何特殊软件,但改进网络博客的最快速和最重要的方法是:您必须不断添加新内容!既使您今天才开通博客,只要您坚持每天对它更新多次,而不是一放就是一年,只有心血来潮时才更新它,那么到周末就会有更多的人阅读它了。
这个技巧与本文后面的所有其他技巧相关,因为它们将向您表明 UNIX 系统如何有助于比以往更快更好地提供新鲜的博客内容。您必须知道您的哪些内容最受欢迎、知道谁正在阅读它以及他们来自何处、使您的文本更快更好地加载,并自动化您的博客更新。下面您将简单介绍一些基于 UNIX 的内容管理解决方案,它们可能比您以前一直用来制作博客的解决方案更好。
查看日志
日志就是您的活力之源。它们将告诉您谁正在查看您的博客以及有关位置、次数和频度的信息。如果您积极地发布网络博客,则应该至少每天检查一次 日志。日志使您能够看到谁正在阅读您的发布、确切了解他们正在阅读的内容以及他们阅读的时间。所以,为什么要忽略它呢?
您可以使用命令行工具来从日志提取有意义的数据,但是存在一些特殊的 UNIX 工具可以自动分析最流行格式的日志,包括 Apache Web 服务器所写入的日志。此类工具之一就是流行的开放源代码 analog 命令。
对受欢迎的内容作出反应
使用 analog 命令来检查您的链接并查看人们所访问的内容。首先,获得一个显示统计信息的常规报告——正在发出多少个唯一请求、是否存在任何失败的请求、正在为多少个不同的主机服务,等等:
$ analog -A www.20060901 | lynx -stdin
|
此命令产生类似于清单 1 所示的代码。
清单 1. analog 工具的示例输出
Web Server Statistics for BigBlog
Program started at Mon-25-Sep-2006 14:46.
Analyzed requests from Fri-01-Sep-2006 00:01 to Fri-01-Sep-2006 23:59 (1.00 days).
____________________________________________________________________________
General Summary
(Go To: Top: General Summary)
This report contains overall statistics.
Successful requests: 3,400
Average successful requests per day: 3,403
Successful requests for pages: 2,015
Average successful requests for pages per day: 2,016
Failed requests: 3
Redirected requests: 963
Distinct files requested: 101
Distinct hosts served: 950
Data transferred: 65.338 megabytes
Average data transferred per day: 65.429 megabytes
____________________________________________________________________________
This analysis was produced by analog 6.0.
Running time: Less than 1 second.
(Go To: Top: General Summary)
|
要特别注意 Search Word Report(其中显示了最流行的查询关键词和它们被查询的次数)和 Directory Report(其中显示您站点上最受欢迎的目录)。(查看读者当前对哪些存档的博客条目感兴趣始终是个好主意。)最后,Request Report 显示了站点上被请求次数最多的文件。您的博客徽标和任何经常在整个站点中出现的图形固定在顶部附近,但是通过查看实际内容文件(如 .html 文件),您可以清楚了解哪些页面或存档的博客条目最受读者的欢迎。
可能会出现每天或周期性的高峰,您应该对此作出反应。然而,长远考虑长期趋势始终是明智的。如果要在存档目录中保留每天的日志,这是很容易做到的。只需拼接它们,然后将它们全都发送到 analog 以进行一次性处理。这可以每周、每月甚至每年进行一次以跟踪趋势。使用 zcat(在有些系统上名为 gzcat)来同时解压缩和拼接任何压缩的日志。例如,为了获得有关 2006 年 9 月的所有日志的完整报告,可以使用以下命令:
$ zcat www.200609* | analog - | lynx -stdin
|
自动化更新
很少有博客所有者直接在在线页面本身之上制作博客。大多数工作都是在本地副本上完成的,他们首先在本地副本上草拟和提炼新条目。然后,当新的 index.html 文件为在线 准备就绪时,博客所有者将该文件上载到承载实际站点的服务器。
该过程可能要花 30 秒到一分钟的强制性注意时间,在此过程中,博客所有者打开文件传输协议 (FTP) 连接、键入密码、切换到本地网络博客根目录、切换到服务器根目录、上传该文件,然后注销(有关示例请参见清单 3)。
可以想象,此过程很容易出现用户错误。如果您志在成为每天拥有 10 个优秀更新的大亨级精英博客所有者,则此上传过程每天就要花去您整整五分钟时间——或者说每年总共超过 30 个小时!那是相当多的时间,原本可以更好地花在阅读 developerWorks 文章来加强您的信息技术 (IT) 本领上。
清单 3. 网络博客根页的手动更新
develbox$ ftp bigblog.example.com
Connected to bigblog.example.com.
220 bigblog.example.com NcFTPd Server (licensed copy) ready.
Name (bigblog.example.com:joe): joe_blogger
331 User joe_blogger okay, need password.
Password: secret
230 You are user #1 of 2 simultaneous users allowed.
230 Logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> lcd ~/blog
Local directory now /home/joe/blog
ftp> cd public_html
250 "/usr/www/users/joe_blogger" is new cwd.
ftp> put index.html
local: index.html remote: index.html
200 PORT command successful.
150 Opening BINARY mode data connection.
226 Transfer completed.
ftp> bye
221 Goodbye.
develbox$
|
完成此任务的一种更好方法是使用 Expect 语言,它是为脚本交互式会话而设计的(请参见参考资料)。对于通过 FTP 来人工更新站点的博客所有者,创建自动化的更新脚本是很自然的方法。清单 4 显示了一个自动化清单 3 所示的会话的示例。
清单 4. 自动化网络博客更新的 Expect 程序
#!/usr/bin/expect
# update a weblog index page
# puts ~/blog/index.html in remote ~/public_html/
exp_version -exit 5.0
if $argc!=0 {
send_user "usage: bloggit\n"
exit
}
set timeout 60
log_user 0
spawn ftp bigblog.example.com
expect "Name*:"
send "joe_blogger\r"
expect "Password:"
send "secret\r"
expect "ftp>"
send "lcd ~/blog/\r"
expect "ftp>"
send "cd public_html/\r"
expect "ftp>"
send "put index.html\r"
expect "226*ftp>"
send "bye\r"
send_user "blogged it.\n"
close
|
现在,当您准备将某个更新置于在线时,所花的时间要少得多:
使用内容管理系统
就开发并推出产品而言,UNIX 人倾向于自行其事。但同样地,他们也很懒惰,如果已经存在适用的解决方案,他们也不会费心地另辟蹊径;太多的新思想还在等待形成。
在博客的早期年代,最成功的网络博客是手工编码的 HTML——如今已很不常见了。现在,大多数博客都是由 CMS 提供支持的数据库驱动、手工配置的站点。
如果说存在网络博客应用程序,那就一定是 CMS,它能为您提供大量难于通过编程来实现的必备博客特性——分类排序、按日期、类别和媒体类型存档、协作帐户便利性、布局模板和格式化、标准或滚动图像或主题,以及各种格式和渠道(如 RSS)的内容可用性。
存在太多的 CMS,甚至无法尝试列出它们的完整清单——其中有数百个是当前正在使用的,还有一些是在 developerWorks 上的其他地方详细描述的。但是,列举出其中一些在 UNIX 上工作得很好并且可以配置来开发和运行网络博客的较好和较流行的开放源代码 CMS 是值得的。表 1 列出了这些 CMS,但是还有其他许多没有列出,因此肯定存在满足您特定需要的解决方案。
表 1. 用于 UNIX 的流行开放源代码 CMS
| CMS |
描述 |
| Blosxom |
Blosxom 是一个基于 Perl 的网络博客发布系统,其特色是插件体系结构和虚拟目录。 |
| Drupal |
Drupal 是一个模块化的 CMS,用于通过评论和 Trackback 来构建网络博客。 |
| Textpattern |
Textpattern 是一个文档管理系统,并着眼于精美的 Web 排版;它使用 PHP V4.3 或更高版本和 MySQL V3.23 或更高版本。 |
| WordPress |
它是最受欢迎的开放源代码 CMS 包之一,用于 UNIX 上的发布。 |
总结
UNIX 环境真正是用于博客创作的天然环境。从 Web 友好的基础设施到强大的命令行工具,其中有大量的特性可帮助您改变一生的博客创作命运。本文提供了一些可以使用 UNIX 来使您的博客创作进行得更好更快的方法。