我想让我的Rails服务器在2个不同的端口上侦听。向我提出的一个解决方案是使用nginx。我nginx的安装与sudo passenger-install-nginx-module
,并添加以下内容/etc/nginx/conf.d:nginx + passenger + rails:我需要启动rails服务器还是只需启动nginx?
server {
listen 80;
listen 10000;
server_name www.myapp.com
passenger_enabled on;
root /root/myapp/public;}
当我去www.myapp.com我有一个403 Forbidden错误。我想这是因为/ public中没有静态html文件。我放下了一个简单的“hello world”html页面,并且它正确加载。然后我开始使用passenger start -e production
来启动我的rails应用程序,这使得它在3000端口上以独立的phusion乘客模式运行。我去myapp.com:3000,我得到了应用程序。但是,myapp:80和myapp:10000仍然不起作用。我很困惑如何让我的nginx指向我正在运行的rails服务器。我完全错了吗?谢谢!
Nginx的客运启动,并为Rails服务器转发到我的轨道服务器。 Passenger作为一个模块编译成nginx,甚至在独立模式下它仍然通过nginx运行。 – cpuguy83