2016-08-21 2 views
0

J'essaie d'installer une application react.js et d'utiliser le package pm2 pour l'exécution du serveur.Impossible de configurer Nginx correctement pour l'application Node.js

contenu du fichier Mon /etc/nginx/sites-available/default sont:

server { 
    listen 80; 

    server_name my.domain.name; 

    location/{ 
     proxy_pass http://127.0.0.1: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; 
    } 
} 

Mon serveur est en cours d'exécution réagissent sur le port 8080, depuis quand je fais curl localhost:8080 à partir du serveur, je reçois la réponse appropriée. En outre, avec curl localhost également j'obtiens la réponse du serveur de réaction correcte.

Cependant, quand je visite my.domain.name dans le navigateur, je reçois juste la page nginx par défaut disant qu'il a été installé avec succès.

Qu'est-ce qui me manque ici?

Edit:

fichier Ajouté Reactjs app server.js:

var webpack = require('webpack'); 
var WebpackDevServer = require('webpack-dev-server'); 
var config = require('./webpack.config'); 

new WebpackDevServer(webpack(config), { 
    publicPath: config.output.publicPath, 
    hot: true, 
    historyApiFallback: true 
}).listen(8080, 'localhost', function (err, result) { 
    if (err) { 
    return console.log(err); 
    } 

console.log ('écoute à http://localhost:8080/'); });

+0

Le problème n'a rien à voir avec la réaction ou l'application serveur réelle sous quelque forme que ce soit. C'est une question de configuration nginx pure et donc le titre de la question est trompeur. –

+0

@OlegSklyar mis à jour le titre – tekina

+0

vérifier vos paramètres d'entrée de l'hôte météo la demande de votre hôte est mappé avec localhost: 8080 –

Répondre

0

Votre site est disponible pour nginx, mais pas activé. Essayez donc de déplacer ou de lier par symétrie votre configuration, c'est-à-dire /etc/nginx/sites-available/default, par ex. /etc/nginx/sites-enabled/your.domain.name et en cours d'exécution puis

/etc/init.d/nginx restart 

Ensuite, the following hint peut aider davantage en ce qui concerne les questions internes au noeud.

De plus, vous pourriez bénéficier d'ajouter ce qui suit à votre config:

proxy_redirect http://localhost:8080 http://your.domain.name; 

Lorsque mis en sites-enabled ma config sur est à peu près Digital Ocean le même, mais pour https, qui fonctionne très bien.

+0

J'ai déjà sym-lié mon fichier de configuration. L'ajout de 'proxy_redirect' ne semble pas aider aussi bien. – tekina

+0

Si vous avez sym-lié la configuration alors s'il vous plaît mettre à jour votre question à nouveau car le problème réside dans un petit détail quelque part: compte tenu du contenu et l'emplacement du fichier cela devrait fonctionner. Mais essayez d'omettre 'localhost' dans la configuration du serveur, ce qui le fera écouter sur 0.0.0.0. Si cela fonctionne, limitez-le à 127.0.0.1 et essayez à nouveau –

+0

Vérifiez le lien que j'ai ajouté à la réponse, essentiellement c'est à peu près la même chose que dans le commentaire: essayez d'ignorer le nom d'hôte dans le nœud http. –