我有两个Ruby应用程序,一个在Rails下,另一个在Sinatra下。
如何在Nginx和Passenger中将这两个应用程序部署在一个根目录(“localhost:3000”)中,另一个在subroot(“localhost:3000 / test”)中?
Rails应用程序正在运行这个configuration。 一切似乎工作确定:
server { listen 80; server_name localhost; location / { root /var/www/demo/public; passenger_enabled on; rails_env production; } location /test/ { root /var/www/test/public; passenger_base_uri /test/; proxy_pass http://10.0.3.12:80/test/; passenger_enabled on; }
我无法访问第二个应用程序。
/ usr / bin / env:乘客:没有这样的文件或目录,退出状态为1(失败)
独angular兽请求排队
Rails服务器在用户login后返回“404 Not Found”
服务器为第二个应用程序返回404,第一个应用程序仍在运行。
Phusion Passenger目前没有提供任何应用程序
rufus调度程序不在生产中运行
与Passenger的Apache不加载Rails应用程序
Apache上的Phusion Passenger上有多个rails应用程序
我相信你需要定义本地服务器,只监听本地端口并在那里定义你的旅客应用程序。 您在端口上侦听的实际服务器应仅充当代理。
server { listen localhost:8181; server_name test_app; root /var/www/test/public; passenger_enabled on; } server { listen localhost:8182; server_name demo_app; root /var/www/demo/public; passenger_enabled on; rails_env production; } server { listen 80; server_name localhost; location / { proxy_pass http://localhost:8182/; } location /test/ { proxy_pass http://localhost:8181/; } }
我没有机会测试这个配置,所以它可能有一些小的缺陷,但从高级角度来看应该是正确的。
在Nginx.conf中:
server { listen 80; server_name localhost; location / { root /var/www/new/public; passenger_enabled on; rails_env production; } location /test { root /var/www/demo; passenger_base_uri /test; passenger_enabled on; }
ln -s /var/www/loggerapp/public /var/www/new/test
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。