安装 varnish 后,我在使用 apache 时遇到了困难

安装 varnish 后,我在使用 apache 时遇到了困难

我已经在 centos 上运行 directadmin 好几年了,现在我需要为我们的网站提供一个更好的服务器环境。我在 rackspace 实例上安装了最新的 centos 版本,directamin 和所有必要的服务的安装都很顺利。由于我经营一家基于 magento 的商店,所以我想测试一下 varnish,找到了我需要的一切,并成功安装了 varnish。当我将 varnish 切换到端口 80 并将 apache 切换到 8080 时,问题就出现了,apache 错误日志报告:

[Wed Sep 18 06:50:25 2013] [error] [client 127.0.0.1] File does not exist: /var/www/htdocs/404.shtml 

[Wed Sep 18 08:56:58 2013] [error] [client 127.0.0.1] File does not exist: /var/www/htdocs/favicon.ico

[Wed Sep 18 08:56:58 2013] [error] [client 127.0.0.1] File does not exist: /var/www/htdocs/404.shtml
[Wed Sep 18 08:56:58 2013] [error] [client 127.0.0.1] File does not exist: /var/www/htdocs/404.shtml

[Wed Sep 18 09:09:58 2013] [error] [client 127.0.0.1] File does not exist: /var/www/htdocs/www.google.com

[Wed Sep 18 09:09:58 2013] [error] [client 127.0.0.1] File does not exist: /var/www/htdocs/404.shtml

[Wed Sep 18 09:09:58 2013] [error] [client 127.0.0.1] File does not exist: /var/www/htdocs/405.shtml

[Wed Sep 18 10:18:30 2013] [error] [client 127.0.0.1] File does not exist: /var/www/htdocs/robots.txt

[Wed Sep 18 10:18:30 2013] [error] [client 127.0.0.1] File does not exist: /var/www/htdocs/404.shtml

[Wed Sep 18 10:18:30 2013] [error] [client 127.0.0.1] File does not exist: /var/www/htdocs/skin

[Wed Sep 18 10:18:30 2013] [error] [client 127.0.0.1] File does not exist: /var/www/htdocs/404.shtml

服务器根本不使用 /var/www/htdocs,但是我的 httpd.conf 中有一条记录:

DocumentRoot "DocumentRoot "/var/www/htdocs""

但是我的旧服务器上也有相同的配置,我从未发现任何错误。当我切换回 apache 时,一切都在 apache 配置中使用相同的指令正常工作。新服务器只有一个 IP 地址,我运行的虚拟主机(在 directadmin 中配置)与旧服务器相同。我想知道这里出了什么问题,当我查看 Varnish 日志时,静态内容的 URL 没问题,但需要动态内容时,apache 试图查看 /var/www/htdocs,但没有任何用处(空目录),我的文件在 /home/user/public_html 中。我搞不懂 :(

答案1

有两个地方需要更改端口。在 ports.conf 中,您需要:

NameVirtualHost *:8080
Listen 8080

并在 sites-enabled 中的虚拟主机文件中,以便它们启动:

<VirtualHost *:8080>

我怀疑您忘记更改其中一个。

答案2

不要更改 apache 端口,将 varnish 保留在端口 8080 上,并将请求重定向到防火墙上的端口 8080。

相关内容