![]() | 虚拟服务器允许您在同一端口上运行多个服务器。例如,您可以让 www.foo.com 和 www.foo.org 在同一端口和机器上运行。这就是为什么它被称为虚拟服务器。 |
要创建您的第一个服务器,请登录基于 Web 的 CIF.。单击 选项卡,然后单击 按钮。
输入一个容易识别的名称。您还必须选择配置类型。根据您选择的配置,您的服务器将具有不同的模块集。换句话说,您的服务器将具有不同的功能。对于您的第一个服务器,请选择基本服务器,然后单击 。现在您将再次看到“虚拟服务器”页面。如您所见,您有两个不同的文件夹可以操作: (图 4-1) 和 (图 4-2)。
服务器变量包含您站点的 URL,以及它将可用的端口。文件系统描述了包含您希望 Caudium 提供的 .html 和其他文件的文件/目录。在服务器变量中,进入
并选择 。使用默认值,选择 ,然后单击 。现在选择您站点的 URL,然后选择 。现在您可以返回到显示所有模块的页面,也就是您进入“服务器变量”之前的页面。在您的服务器名称下,您将看到服务器的状态。如果它包含蓝色的 “Open” 字样,则一切正常,您可以继续配置文件系统。
如果它包含红色的 “Not open” 字样,则存在问题。您可以通过 CIF. 选项卡进入事件日志进行调查。如果您遇到错误 Failed to open socket on 0:80 (already bound ?),则可能是另一个程序或 Caudium 本身已经在该端口上运行。要解决此问题,请找出哪个程序正在使用此端口,并重启 Caudium [1]。要重启 Caudium,请进入 -> -> -> 。等待几秒钟,当出现提示时,选择 。现在选择您的服务器,您应该看到蓝色的 “Open” 字样。
![]() | 在 CIF. 中,您可能会想知道 http 和 http2 这两种不同的协议是什么? |
---|---|
区别在于 http2 使用 Caudium 的内部内存缓存,而 http 是普通的 Pike http 子系统。因此,正如您可能预期的那样,http2 比 http 更快。但是,在某些特定站点上存在一些问题。 |
通过选择文件系统,您可以告诉 Caudium 它将向浏览您站点的人发送哪些文件。对于那些了解其他 Web 服务器的人,请密切关注这些解释,因为 Caudium 在这方面与其他服务器截然不同。
Caudium 文件系统使用 Unix 的挂载点哲学,而不是c, d等等。挂载点概念允许您将文件/目录放在您想要的任何 URL 下,而无需更改本地文件系统上的文件。例如,假设您有以下本地文件系统
示例 4-1. 您的用户文件系统。
/home/customers/customer1 /home/customers/customer2 /home/customers/bigcustomer3 /home/friends/franck /home/friends/bertrand /home/friends/didier |
假设您的 URL 是 http://www.iteam.org/。
现在让我们回到我们的设置。进入文件系统模块,然后选择NONE/ 挂载在 / -> 路径 -> 搜索路径。在这里,您将决定当有人访问您服务器的根目录时,哪些目录可用。例如,写入/home.
您现在可以启动您喜欢的浏览器访问您站点的 URL 并享受了。
.www_browsable - the directory will always be browsable .www_not_browsable - the directory will never be browsable |
图 4-3 显示了您应该得到的输出。
![]() | 如果您在将 Caudium 指向您的站点之后创建了这些文件/目录,则可以安全地进入操作选项卡,然后转到缓存 -> 缓存状态 -> 刷新缓存. |
示例 4-2. 一个简单的虚拟主机正则表达式。
www\.virtualhost\.com www.virtualhost.com |
示例 4-3. 一个更好更快的正则表达式。
^www\.virtualhost\.com$|^virtualhost\.com$ www.virtualhost.com |
保存并在命令行中键入此命令,以便让您的浏览器解析 www.virtualhost.com
# echo "127.0.0.1 www.virtualhost.com" >> /etc/hosts. |
此服务器由我的第一个虚拟服务器中的端口处理。服务器 URL: http://www.virtualhost.com/
在文件系统 -> NONE/ 挂载在 / -> 路径 -> 搜索路径.
中更改文件系统根目录和 /tmp。您现在可以将您喜欢的浏览器指向 http://localhost/ 和 http://www.virtualhost.com/ 并查看结果。
如果您收到错误提示 www.virtualhost.com 未知,请检查您的 host 文件。
有关虚拟主机的更多信息,请参阅 LDP 或 LDP 提供的 Virtual-Web Mini-HOWTO,或在/usr/share/doc/HOWTO或/usr/doc/HOWTO下的 Debian GNU/Linux 中。
[1] | 要识别,您可以使用 lsof(8)。如果您想知道哪些程序在端口 80 上监听,只需以 root 身份发出以下命令
这是结果
|