使Nginx前进到EC2上的Thin上

| 我正在努力让Nginx将我的:80流量代理到我的瘦集群上。 此刻..什么都没有发生。参见http://ec2-50-19-75-170.compute-1.amazonaws.com/ 请参阅下面的我的配置文件: 我的etc / nginx / sites-enabled / dankit配置文件看起来像这样
upstream thin {
     server 0.0.0.0:3000;
     server 0.0.0.0:3001;
     server 0.0.0.0:3002;
}

server {
    listen 80;
    server_name ec2-50-19-174-64.compute-1.amazonaws.com;

    root /home/ubuntu/apps/dankit-rails;

    location / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_redirect false;

      if (-f $request_filename/index.html) {
        rewrite (.*) $1/index.html break;
      }
      if (-f $request_filename.html) {
        rewrite (.*) $1.html break;
      }
      if (!-f $request_filename) {
        proxy_pass http://thin;
        break;
      }
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
      root html;
    }
}
然后我跑了: sudo ln -s站点可用/ dankit站点启用/ dankit /etc/thin/dankit.yml
pid: tmp/pids/thin.pid
address: 0.0.0.0
timeout: 30
port: 3000
log: log/thin.log
max_conns: 1024
require: []

max_persistent_conns: 512
environment: production
servers: 3
daemonize: true
chdir: /home/ubuntu/apps/dankit-rails
并确认两者都在运行: ubuntu @ domU-12-31-39-06-7A-F8:/ etc / nginx / sites-available $ ps -ef | grep -i薄 根923 1 2 16:06 00:00:09瘦服务器(0.0.0.0:3000) 根934 1 1 16:06 00:00:09瘦服务器(0.0.0.0:3001) 根945 1 1 16:06 00:00:08瘦服务器(0.0.0.0:3002) ubuntu 971 817 0 16:14 pts / 0 00:00:00 grep -i薄 ubuntu @ domU-12-31-39-06-7A-F8:/ etc / nginx / sites-available $ ps -ef | grep -i nginx 根542 1 0 16:04? 00:00:00 nginx:主进程/ usr / sbin / nginx www-data 545 542 0 16:04? 00:00:00 nginx:工作进程 我的瘦服务器启动正常,并且rails目录中的日志没有显示任何错误。 我开始认为这是ec2安全组的安全问题。但是我为0.0.0.0/0 3000-3030和通常的:80和ssh添加了TCP。 这让我很精神!任何建议将不胜感激。     
已邀请:
        
I then ran: sudo ln -s sites-available/dankit sites-enabled/dankit
问题可能是两件事之一或两者兼而有之: ln -s / etc / nginx / sites-available / dankit / etc / nginx / sites-enabled / dankit chown没有人:没人/ etc / nginx / sites-enabled / dankit 我倾向于只使用符号链接的完整路径...也许这只是个好习惯,但是我还发现,如果未正确为已启用的网站配置权限,nginx不会感到满意。     
        也许将所有0.0.0.0 \更改为127.0.0.1或指向127.0.0.1的localhost。 0.0.0.0和127.0.0.1之间的区别在于,前者是指localhost的物理接口,而后者是指软件接口。     
        查看此URL http://articles.slicehost.com/2008/5/27/ubuntu-hardy-nginx-rails-and-thin和您的配置完全匹配,我认为没有任何问题,尽管我会喜欢你来验证几件事。 请验证以下内容: 更改瘦地址以指向
127.0.0.1
确保防火墙的瘦端口号为OPEN,TCP连接的防火墙号为80。不是通过查看亚马逊控制台而是通过运行
iptables
命令。 最后,确保您的公共DNS是
CORRECT
    
        排序。 任何可以回答为什么符号链接是问题的人都可以得到答案! 感谢您的所有反馈和帮助。基本上,如果有人遇到这个问题,这就是问题所在。 我注意到从/ etc / nginx / site-enabled中删除配置时,它影响了服务器。 ..OK听起来不错! 现在我注意到,当我重新符号链接从/ etc / nginx / site-available到/ etc / nginx / site-enabled的配置时,它没有任何作用。甚至默认的nginx默认配置也不起作用。 所以! symlink在这里一定有问题。我通过将/ etc / nginx / site-available / dankit导入到主要的Nginx配置中进行了快速测试,嘿!网站启动。 因此,我相信我的symlink命令:
sudo ln -s sites-available/dankit sites-enabled/dankit
是胡扯。我要研究另一种解决方案。     

要回复问题请先登录注册