2011-06-15 19 views
0

我很努力地讓Nginx將我的:80流量代入我的瘦集羣。讓Nginx轉發到EC2上的精簡

此刻......沒有任何反應。見http://ec2-50-19-75-170.compute-1.amazonaws.com/

我的配置文件,請參閱下文:

等/ nginx的//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; 
    } 
} 

然後我跑: 須藤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的/網站,提供$ PS -ef | grep -i thin root 923 1 2 16:06? 00:00:09瘦服務器(0.0.0.0:3000)
root 934 1 1 16:06? 00:00:09瘦服務器(0.0.0.0:3001)
root 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 root 542 1 0 16:04? 00:00:00 nginx:主進程/ usr/sbin/nginx www-data 545 542 0 16:04? 00:00:00 nginx的:工作進程


我瘦服務器開始確定和在軌DIR日誌不顯示任何錯誤。

我開始認爲這是一個ec2安全組的安全問題。然而,我爲0.0.0.0/0 3000-3030添加了TCP,通常是80和ssh。

這讓我精神振奮!任何建議將不勝感激。

回答

1

I then ran: sudo ln -s sites-available/dankit sites-enabled/dankit

的問題可能是兩件事情或兩者之一:

  1. LN-S的/ etc/nginx的/網站可用/ dankit的/ etc/nginx的/啓用的站點 -/dankit
  2. CHOWN人:沒有人在/ etc/nginx的//dankit

我傾向於只使用完整路徑,符號鏈接...也許這只是一個良好的習慣,但我也發現,nginx的啓用站點, ISN如果權限未針對啓用的網站進行配置,則表示不滿意。

0

也許會將所有的0.0.0.0's更改爲127.0.0.1或指向127.0.0.1的localhost。 0.0.0.0到127.0.0.1之間的區別在於前者是指本地主機的物理接口,而後者是指軟件接口。

+0

感謝您的建議。改變了IP,重新啓動了nginx,但仍然沒有運氣 – Morgz 2011-06-15 17:19:10

0

看着這個URL http://articles.slicehost.com/2008/5/27/ubuntu-hardy-nginx-rails-and-thin &你的配置完美匹配,我沒有想到任何問題,但我希望你能驗證一些東西。

請確認以下的東西:

  1. 更改地址薄指向127.0.0.1
  2. 確保防火牆是開放的薄& 80 TCP連接的端口號碼。不是通過查看亞馬遜控制檯,而是通過運行iptables命令。
  3. 最後,確保您的公共DNS是CORRECT
0

排序它。

任何人都可以回答爲什麼符號鏈接是問題可以得到答案!

感謝您的所有反饋和幫助。基本上如果有其他人遇到這個問題......這就是它是什麼。

我注意到當我從/ etc/nginx/site-enabled中刪除配置時,它影響了服務器。

..聽起來沒錯!

現在我注意到,當我將re-sym從/ etc/nginx/site-config中的配置鏈接到/ etc/nginx/site-enabled時,它沒有任何效果。即使默認的nginx默認配置也不起作用。

so!在這裏符號鏈接一定有問題。我通過將/ etc/nginx/site-available/dankit導入到主要的Nginx配置中進行了快速測試,嘿!網站已啓動。

所以我相信我的符號鏈接命令:

sudo ln -s sites-available/dankit sites-enabled/dankit 

是胡說八道。我必須考慮另一種解決方案。