我有一个标准的Rails应用程序,Nginx和Mongrel运行在
http://mydomain.我需要运行一个wordpress博客在
http://mydomain.com/blog.我的喜好是托管Apache在同一台服务器上运行的博客或单独的框,但我不希望用户在URL中查看不同的服务器.这是可能的,如果不是,你会推荐什么来完成目标?
我认为joelhardi的解决方案优于以下.然而,在我自己的应用程序中,我喜欢将博客保存在一个单独的VPS上,而不是Rails站点(分离内存问题).为了使用户看到相同的URL,您使用与通常用于代理到mongrel群集的代理技巧相同的代理技巧,但代理到另一个框上的端口80(或任何).十分简单.对于用户来说,它是透明的,你代理mongrel – 他们只是“看到”在你的域80端口的Nginx响应.
原文链接:https://www.f2er.com/php/139335.htmlupstream myBlogVPS { server 127.0.0.2:80; #fix me to point to your blog VPS } server { listen 80; #You'll have plenty of things for Rails compatibility here #Make sure you don't accidentally step on this with the Rails config! location /blog { proxy_pass http://myBlogVPS; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
您可以使用这个技巧让Rails与您想要的任何服务器技术一起玩.直接代理到相应的服务器/端口,Nginx将其从外部世界中隐藏起来.此外,由于URL将全部引用到同一个域,只要您正确地编写URL,您可以无缝集成基于PHP的博客,基于Python的跟踪系统和Rails应用程序.