![如何在 ubuntu 上同时运行 rails 和 LAMP?](https://linux22.com/image/571285/%E5%A6%82%E4%BD%95%E5%9C%A8%20ubuntu%20%E4%B8%8A%E5%90%8C%E6%97%B6%E8%BF%90%E8%A1%8C%20rails%20%E5%92%8C%20LAMP%EF%BC%9F.png)
我刚刚设置了一个运行 Ubuntu Server 的虚拟机,其中安装了 LAMP 堆栈和 OpenSSH。
现在,让该服务器同时运行 rails 和 PHP 应用程序的最佳方法是什么?最好在主机服务器上虚拟化这两台服务器吗? - 或者它们可以愉快地并排运行吗?
Mongrel 会是 Rails 服务器的最佳选择吗?
答案1
因此,保持现有的 LAMP 堆栈为 example1.com 提供服务,并执行以下操作在 example2.com 上设置 Rails 端:
运行 mongrel 来监听端口 8000(或其他)(FWIW,我们使用 Unicorn,它可以更优雅地处理工作者)。
在 Apache 端,执行类似这样的配置:
<VirtualHost example2.com:80>
ServerName example2.com
ProxyPass / http://localhost:8000/
ProxyPassReverse / http://localhost:8000
ProxyPreserveHost on
</VirtualHost>
您应该仔细阅读 Apache 文档中关于“反向代理”和“ProxyPassReverse”指令的说明,以了解具体的细节和陷阱。
因此,您现有的 example1.com 虚拟主机将处理 LAMP 内容,而 example2.com 虚拟主机将代理请求到您的 Rails 堆栈。您的 Rails 服务器将监听端口 8000,该端口不受 LAMP 的影响。
答案2
它们可以非常快乐地并肩奔跑。