3

多年来,我一直在为我的开发环境使用 Ubuntu 机器,并试图迁移到 OSX(Mountain Lion)。此时唯一的问题是 apache2 配置。

在 Ubuntu 机器上“apache2 -v”显示

Server version: Apache/2.2.22 (Ubuntu)
Server built:   Nov  8 2012 21:37:30

在 OSX 机器上“httpd -v”显示

Server version: Apache/2.2.22 (Unix)
Server built:   Aug 24 2012 17:16:58

所以你可以想象我对为什么虚拟主机配置不能很好地迁移感到非常困惑。

我的 VirtualHost 配置的以下 ProxyPass 和 Alias 位在我的第一个 apache2 实例上使用时效果很好,但在第二个实例上却不行。两台机器上的目录结构

出于所有意图和目的,虚拟主机配置如下

NameVirtualHost *:80

<VirtualHost *:80>

   ProxyPass /img !
   Alias /img /somedir/media/img

   ProxyPreserveHost On
   ProxyPass / http://127.0.0.1:8080/
   ProxyPassReverse / http://127.0.0.1:8080/

</VirtualHost>

目标是 apache 将在端口 8080 上为所有图像和应用程序服务器提供繁重的工作(常见模式)。

在 Ubuntu 中,这很好用。在 macbook 上,没有提供图像。

4

2 回答 2

0

验证是否正在加载代理模块。这可以通过 conf 文件中的动态加载配置行来完成:

LoadModule  proxy_http_module    modules/mod_proxy_http.so

或者编译成 Apache:

./httpd -l | grep proxy
mod_proxy.c
mod_proxy_connect.c
mod_proxy_ftp.c
mod_proxy_http.c
mod_proxy_scgi.c
mod_proxy_ajp.c
mod_proxy_balancer.c

您可能会从另一台服务器中提取 mod_proxy_http.so。

于 2012-12-17T23:23:30.250 回答
-1

原来默认的 apache 配置定义了一个非常严格的默认站点配置。评论出来并重新启动服务器很好地清理了一切。

于 2012-12-19T15:22:40.310 回答