ruby-on-rails – 如何使用不同的rails_env与nginx,passenger和
我需要让redmine与nginx,phusion乘客和mysql一起运行.由于该项目需要多个redmine实例,应该使用不同的rails_env来实现,我尝试使用nginx在不同的服务器vhosts中设置它们. 一个vhost的示例:
其他服务器vhost也是如此,但server_name与其他域匹配,rails_env设置为internal. 问题是,nginx只为两个redmine实例使用了两个rails_env,而不是每个实例都有一个.任何建议如何使用不同的rails_env与相同的应用程序,nginx和phusion乘客? 谢谢 最佳答案
我想你遇到了同样的问题.您希望使用相同的物理目录来托管应用程序实例,但是您希望通过使用不同的DNS条目(redmine.development / redmine.production)在不同的环境(开发/生产)下与应用程序进行交互.
问题是乘客将传入的请求识别为使用root上方目录中的rails app.如果您在多个nginx配置中对root使用相同的文字引用,则乘客会将请求转发到root中找到的单个运行实例.即,如果您首先启动开发应用程序,然后尝试通过redmine.production访问生产,您将最终与开发环境进行交互.但是,如果您首先启动生产应用程序,然后尝试访问redmine.development,您将最终与生产进行交互. 答案是为您要运行的每个环境对应用程序的目录进行符号链接. Passenger只查看root的文字路径 – 如果它与当前运行的实例不匹配,它将生成一个新的实例. 前). 物理根是?/ rails_apps / myserver(其中myserver包含app,public等) 创建一个名为?/ rails_apps / dev.myserver的符号链接到?/ rails_apps / myserver,另一个名为?/ rails_apps / pro.myserver的符号链接到?/ rails_apps / myserver. 现在在nginx配置中,将符号链接位置以root身份用于公用文件夹. 例如,如果symlink /home/user/rails_apps/[dev|pro].redmine指向/ home / user / rails_apps / redmine)
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- nginx – 一台服务器上的多个域指向错误的站点
- Django Gunicorn nginx表现非常糟糕.甚至无法获得
- 在Nginx v.1.3.9中启用Chunked Transfer编码
- ruby-on-rails – 使用带Nginx和Unicorn的Webso
- Nginx&fcgiwrap,将perl错误记录到错误日志中
- node.js – 在同一个域上使用nginx提供多个节点
- node.js – 使用nginx处理Express子域
- HTTP 444(无响应)而不是404,403错误页面?
- Newrelic插件Nginx-nr-agent无法正常工作
- Nginx MP4模块:忽略缓冲区限制