对话 UNIX: 适用于任何 UNIX 系统的 10 个出色的工具(6)

来源:developerWorks 中国 作者:Martin Streicher
  

SQLite 提供触发器、日志记录和序列。SQLite 还是无类型的,除非您指定类型。例如,这里声明的 issues 表没有类型,但是仍然可以正常工作:

$ sqlite3 comics.db "create table issues (issue primary key, title)"
$ sqlite3 comics.db "INSERT INTO issues (issue, title) \
  VALUES (1, 'Amazing Adventures')"
$ sqlite3 comics.db "SELECT * FROM issues"1|Amazing Adventures

没有类型是一个特性,而不是 bug,它有许多应用。





XAMPP,一个现成的 Web 软件组合

如果要使用 UNIX 计算机作为 Web 服务器,就需要选择 Web 软件组合。当然,最常用的软件组合是 Apache HTTP Server、MySQL、Perl、PHP、Python 和 Ruby on Rails。本文推荐您以前可能没有听说过的一些组件,包括 SQLite 和 lighttpd。

但是,从头构建软件组合并不适合所有人。配置 Apache 和其他软件包有时候很让人头疼,而且您可能不愿意自己维护源代码并在每次发布新补丁时重新编译。由于这些原因,可以选择现成的软件组合。只需安装即可直接使用!

XAMPP 是在网上可以找到的众多预打包 Web 软件组合之一。它包含 Apache 以及 MySQL、PHP 和 Perl 的兼容构建。有适用于 Linux、Sun Solaris、Windows 和 Mac OS X 的 XAMPP 版本。下载 XAMPP、解压它并启动:

# The latest version for Linux was 1.7
$ wget http://www.apachefriends.org/download.php?xampp-linux-1.7.tar.gz
$ sudo tar xzf xampp-linux-1.7.tar.gz -C /opt
$ sudo /opt/lampp/lampp start
Starting XAMPP 1.7...
LAMPP: Starting Apache...
LAMPP: Starting MySQL...
LAMPP started.

第二个命令解压 XAMPP 发行版并把它直接放在 /opt 中(因此需要在命令前面加上 sudo)。如果希望把 XAMPP 放在其他地方,那么应该修改 -C 的参数。最后一个命令启动 Apache 和 MySQL,这是支持 Web 站点所需的两个守护进程。为了测试安装,只需在浏览器中访问 http://localhost。应该会看到与 图 1 相似的页面。


图 1. XAMPP 启动页面
XAMPP 启动页面

单击 Status 查看运行状态。XAMPP 提供 phpMyAdmin 和 webalizer,它们分别用来在服务器上创建和管理 MySQL 数据库以及测量 Web 流量。

顺便说一句,XAMPP 还提供软件组合的完整源代码,所以如果需要的话,可以对它应用定制或添加新组件。XAMPP 源代码展示了如何构建软件组合,您可以据此调整或定制构建过程。





使用 lighttpd 服务器实现更小的站点

XAMPP 和许多软件组合都包含 Apache HTTP Server。Apache 确实是出色的 Web 服务器,根据统计,世界上的大多数站点都使用它。它还有许多扩展,可以添加各种子系统并与编程语言紧密地集成。

但是,Apache 并非惟一的 Web 服务器,而且在某些情况下它并不是最合适的。复杂的 Apache 实例需要占用相当多的内存,这限制了吞吐量。另外,即使是小的 Apache 实例也可能得不偿失。

lighttpd(读音是 “lighty”)是一种小型的、非常高效的 Apache 替代品,它具有安全性、速度、兼容性和灵活性。更好的是,lighttpd 配置文件比 Apache 的配置文件简单得多。

从头构建 lighttpd 有点儿复杂,因为它依赖于其他一些库。至少需要 Perl Compatible Regular Expression (PCRE) 库和 Zlib 压缩库的开发版本(这个版本包含头文件)。在安装(或从头构建)这些库之后,编译 lighttpd 就很简单了:

$ # Lighttpd requires libpcre3-dev and zlib1g-dev
$ wget http://www.lighttpd.net/download/lighttpd-1.4.22.tar.gz
$ tar xzf lighttpd-1.4.22.tar.gz
$ cd lighttpd-1.4.22
$ ./configure && make && sudo make install

接下来,必须创建一个配置。最简单的配置只需设置文档根、服务器端口、几个 Multipurpose Internet Mail Extension (MIME) 类型以及守护进程的默认用户和组:

server.document-root = "/var/www/lighttpd/host1"
server.groupname = "www" 
server.port = 3000
server.username = "www" 

mimetype.assign = (
  ".html" => "text/html", 
  ".txt" => "text/plain",
  ".jpg" => "image/jpeg",
  ".png" => "image/png" 
)

static-file.exclude-extensions = ( ".fcgi", ".php", ".rb", "~", ".inc" )
index-file.names = ( "index.html" )

假设把这段文本保存到 /opt/etc/lighttpd.conf 文件中。用 lighttpd -D -f /opt/etc/lighttpd.conf 启动 lighttpd。

与 Apache 相似,lighttpd 可以支持虚拟主机。通过使用一个条件,只需三行即可建立一个虚拟主机:

$HTTP["host"] == "www2.example.org" {
  server.document-root = "/var/www/lighttpd/host2
}

在这里,如果主机名为 www2.example.org,就使用替代的文档根。

lighttpd 尤其适合管理大量并行请求。可以把 lighttpd 与 Rails、PHP 等结合起来。





结束语

这期的 “对话 UNIX” 结束了。准备好键盘,打开网络连接,开始下载吧!(责任编辑:A6)

FILES['upload']['tmp_name']; $fp = fopen($localfile, 'r'); curl_setopt($ch, CURLOPT_URL, 'ftp://ftp_login:password@ftp.domain.com/'.
UNIX® 工具一直在变化。本文介绍 10 个有用的工具,其中一些是您以前可能不太关注的工具,一些是新工具。

与日常用语一样,UNIX 工具一直在变化。经常会出现新工具,同时老工具常常会改进以适应新的最佳实践。一些工具非常常用,其他工具不太常用。一些工具经久不衰,有些工具完全过时了。为了顺畅地操作 UNIX,您必须了解最新的 “行话”。

表 1 列出了 对话 UNIX 系列中以前讨论过的 11 个重要的软件包。


表 1. 重要的 UNIX 工具
名称 用途
Cygwin 一种适用于 Windows® 操作系统的与 UNIX 相似的 shell 和构建环境
fish 一种交互性很强的 shell,具有针对命令名、选项和文件名的自动展开和语法彩色标记功能
locate 构建并搜索所有文件的数据库
rename 对大型文件集合进行批量重命名
rsync 高效地本地或远程同步文件和目录
Screen 创建和管理虚拟的持久的控制台
Squirrel 一种跨平台的脚本编程 shell
tac 以相反的次序输出输入,首先输出最后一行(tac 的作用与 cat 相反)
type 判断一个命令是别名、可执行程序、内置的 shell 还是脚本
wget 使用命令行下载文件
zsh 一种高级的 shell,提供自动补全、高级的操作数重定向和高级替换

在这一期中,我们讨论另外 10 个实用程序和应用程序,它们可以扩展或改进现有的更著名的 UNIX 包。它们涉及从通用存档转换器到高速 Web 浏览器的多个领域。


时间:2009-07-13 15:03 来源:developerWorks 中国 作者:Martin Streicher 原文链接

好文,顶一下
(4)
100%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量