Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 rails3:将/app1附加到apache虚拟主机url_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 3 rails3:将/app1附加到apache虚拟主机url

Ruby on rails 3 rails3:将/app1附加到apache虚拟主机url,ruby-on-rails-3,Ruby On Rails 3,我刚刚在开发服务器上安装了一个Rails 3应用程序,可以使用 在我们的生产设置中,所有应用程序都由另一台服务器上运行的apache代理。所有应用程序都可以通过访问。使用apache代理时需要加载CSS和Javascript 如何修改routes.rb并将rails.root更改为使用appX,而不更改应用程序?在Apache中使用ProxyPassReverse配置命令,它将重写URL,这样您就不必更改routes中的任何内容。rb是的,我使用的是ProxyPassReverse。下面是我使用

我刚刚在开发服务器上安装了一个Rails 3应用程序,可以使用

在我们的生产设置中,所有应用程序都由另一台服务器上运行的apache代理。所有应用程序都可以通过访问。使用apache代理时需要加载CSS和Javascript


如何修改routes.rb并将rails.root更改为使用appX,而不更改应用程序?

在Apache中使用ProxyPassReverse配置命令,它将重写URL,这样您就不必更改routes中的任何内容。rb

是的,我使用的是ProxyPassReverse。下面是我使用的:ProxyPass/appX/retry=5 ProxyPassReverse/appX/应用程序通过使用加载,但缺少所有CSS和Javascript……您的Rails应用程序是否提供静态文件?默认情况下,它只在开发模式下提供静态文件。此设置将启用它,请在生产配置中设置:config.service\u static\u assets=true。不过,这也存在性能问题。最好在Nginx或Apache中使用Passenger,然后将反向代理指向那里。否则,静态文件传输将阻止Rails进程。您也可以考虑使用多个Rails进程,而不是只使用一个。应用程序正在使用乘客。我对Rails和Ruby完全陌生,你所说的一切对我来说都是陌生的。你是在暗示它必须被代理两次吗?在开发服务器上加载Rails应用程序之前,先由生产apache服务器执行一次操作,然后由开发服务器上的乘客执行一次操作?选中production.rb,config.service\u static\u assets=false。如果在应用程序服务器上使用Passenger,则不需要再次代理它,也不必启用静态文件服务。为什么你的应用程序在3000端口上运行?这通常是Mongrel或Webrick要跑的地方。