linux - 与另一个 Web 服务器一起运行 Apache?

标签 linux apache

有没有人在同一台机器上同时运行两个不同的 Web 服务器(例如 Apache 和 CherryPy)并取得成功?我现在正在试验其他网络服务器,我想看看我是否可以在保持我的其他网站正常运行的同时进行我的试验。您可以说这不是一个特定的软件问题,而是一个一般的网络问题。

  • 我知道可以在不同的端口上运行两个网络服务器;但是有什么方法可以配置它们,使它们可以在相同的端口 上运行(即,它们都在端口 80 上运行)?
  • Web 服务器不会提供来自相同域的文件。例如,Apache 可能会提供来自 foo.domain.com 的文档,而另一个 Web 服务器会提供来自 bar.domain.com 的文档。

我知道这不是一个理想的配置。我只是想看看它是否可以在我冲进兔子洞之前完成。 :)

最佳答案

您不能将两个进程绑定(bind)到同一 IP 地址上的同一端口。您可以向该框添加另一个 IP 地址,并让每个服务器监听一个。

另一种选择是代理将一个服务器传递给另一个。使用 Apache,您可以执行以下操作:

NameVirtualHost *
<virtualhost *>
  ServerName other.site.com

  # assumes CherryPy listens on port 8080
  ProxyPass / http://127.0.0.1:8080/
  ProxyPassReverse / http://127.0.0.1:8080/
</Virtualhost>

这是一个非常简单的示例,但您始终可以查看 ProxyPass documentation .但请记住,被代理的应用程序将在其日志中获得 127.0.0.1 而不是请求者的 IP 地址。某些 Web 服务器(apache 使用 mod_rpaf )可以用 X-Forwarded-For header 代替错误的 IP 地址。可能 CherryPy 有这个?

关于linux - 与另一个 Web 服务器一起运行 Apache?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23715/

相关文章:

apache -/etc/apache2/conf-available/phpmyadmin中没有phpmyadmin.conf

linux - SLURM 不同的多次运行

python - 无法在 Apache、WSGI、Django 和 Windows 中加载虚拟环境

PHP/Apache/AJAX - POST 限制?

linux - 为什么 m4 使用两个不同的字符作为引号?

python - 解码 urlencoded 字符串,或者 apache 拒绝 url 由于参数中的 '/'

php - 删除动态生成的文件夹时遇到困难

Linux命令获取磁盘吞吐量

c++ - Ubuntu 上 Netbeans 7.3+ 中 c++ 的解析器索引/缓存的位置

linux - 无法识别的文件夹图标 - Sublime Text 3