2017-03-12 69 views
1

我使用nginx的測試樣品節點的應用程序。504網關超時的nginx/1.4.6(Ubuntu的)和nginx的

,但我得到504網關超時。 nginx的/ 1.4.6(Ubuntu的14.04)

我看到有關同一主題的其他職位,但沒有用它。

下面是我遵循在Azure安裝節點,nginx的程序。

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - 
sudo apt-get install -y nodejs 
sudo apt-get install -y build-essential 
curl -Lo hello.js http://do.co/node-hello 
sudo nano app.js 

app.js文件

var http = require('http'); 
http.createServer(function (req, res) { 
    console.log('Came here'); 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(8080, 'localhost'); 
console.log('Server running at http://localhost:8080/'); 


ls -l 
-rwxrwxrwx 1 root root 265 Mar 12 15:52 app.js 

sudo npm install pm2 -g 
pm2 startup 
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup upstart -u azureuser --hp /home/azureuser 

pm2 start app.js 


Nginx Server 
sudo apt-get update 
sudo apt-get install nginx 
sudo nano /etc/nginx/sites-available/default 

須藤納米的/ etc/nginx的/網站可用/默認文件

server { 
    listen 80 default_server; 
    listen [::]:80 default_server ipv6only=on; 

    root /usr/share/nginx/html; 
    index index.html index.htm; 

    server_name testingnode.cloudapp.net; 

    location/{ 
     proxy_pass http://13.65.148.35:8080; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection 'upgrade'; 
     proxy_set_header Host $host; 
     proxy_cache_bypass $http_upgrade; 
    } 
} 

sudo service nginx restart 

http端口80 Azure是打開儀表板

enter image description here

所以,畢竟配置試圖運行http://13.65.148.35/或testingnode.cloudapp.net將給予504超時。

,如果有什麼需要配置nginx的正在運行的節點,請讓我來。

+0

你可以嘗試刪除'root/usr/share/nginx/html; index index.html index.htm;'?另外,如果你捲曲http:// localhost:8080,會發生什麼? –

+0

基本上,你的nginx正在運行,並且可以從外部連接,但是它和節點之間的事情正在發生扭曲。如果你肯定可以在本地連接到服務器上的節點,那麼當我運行curl http:// localhost:8080時,你的nginx設置可能是錯誤的 –

+0

@MattFletcher它給了Hello World。 我評論,你提到的線,但仍504 – Sharath

回答

2

在你的nginx的配置,改線proxy_pass http://13.65.148.35:8080;proxy_pass http://127.0.0.1:8080;

您所提供的外部訪問IP爲代理通,所以nginx的將符合防火牆設置以同樣的方式,一個外部用戶會;即無法訪問端口8080.請確保它在本地服務器範圍內進行通信。

+0

它的工作。謝謝 – Sharath