2012-07-05 126 views
2

所以我有一個NGINX服務器在端口8080上用uwsgi在Vagrant盒上監聽。 config.vm.forward_port 8080,80不適合我。我知道建議在高於2000的端口上轉發,但我需要80.有沒有問題?流浪前鋒端口8080到80

我使用vagrant進行開發,但我需要從外部使用端口80上的域名進行一些測試。 感謝您的幫助。

回答

1

是端口80可用,即如果您運行netstat -an | grep 80,它是否顯示在列表中已被其他進程使用? uwsgi是否添加到nginx的模塊列表中(並且您是否運行make/make install)?您是否嘗試過檢查是否需要使用更高的權限(也許嘗試以sudo身份運行)。

+0

好吧,NGINX已經正確配置了uwsgi。如果我在80端口上監聽,並將端口80轉發到8080上,NGINX正在響應。相反不起作用。否則,netstat -an | grep 80給了我一個很長的列表,似乎我的80被其他進程使用。在這種情況下,我能做些什麼來讓我的流浪港8080到80迴應? – ScotchAndSoda 2012-07-05 10:57:11

+0

想知道 - 你能夠使用另一個端口的設置?如果是這樣,我會想到兩件事 - 我要檢查的端口80不可用(由另一個服務綁定),或者更可能,您需要以sudo用戶身份運行該進程。 – 2012-07-05 11:53:41

+1

類似的問題已經在這裏回答:http://stackoverflow.com/questions/10953070/how-to-debug-vagrant-cannot-forward-the-specified-ports-on-this-vm-message – 2012-07-05 17:01:05

8

當試圖端口轉發到小於1025流浪漢給了我下面的消息,你可能會錯過:

您正在嘗試轉發到特權端口(端口< = 1024)。大多數 操作系統將此限制爲僅限特權進程(通常爲作爲管理用戶運行的 進程)。如果 端口轉發不起作用,這是一個警告。如果發生任何問題,請嘗試 端口高於1024

我用端口轉發到同一端口,配置如下:

config.vm.forward_port 80, 80 

然後運行vagrant up,而是試圖curl localhost時,無法連接到主機。但是當以sudo用戶sudo vagrant up運行vagrant時,我能夠從我的主機訪問端口。

+0

工作正常,感謝這個答案! – ScotchAndSoda 2013-01-09 21:33:14

+0

好吧,你能解釋我爲什麼這是通過轉發80到80,但不是8000到80?在這兩種情況下,我將sudo作爲sudo? – ScotchAndSoda 2013-01-09 21:45:58

+0

您是否嘗試將端口轉發到80以外的其他端口,如9000?那麼它工作嗎?一個原因可能是端口80已被您的主機保留。 – 2013-02-21 08:09:33