2017-02-07 4 views
1

Ich brauche mehrere Segel Web-Anwendung auf dem Hafen laufen und einen kleinen Server zu routen zwischen ihnen nach dem Anwendungsnamen führen.Mehrere sailsjs Anwendungen auf demselben Port ausgeführt

nächsten Code verwenden, könnte ich Route zwischen ihnen durch Hinzufügen von Anwendungsnamen nach dem Port 3000.

var express = require('express'); 
var app  = express(); 
var httpProxy = require('http-proxy'); 
var proxy = httpProxy.createProxyServer(); 
var app1 = 'http://localhost:1337/', 
    app2 = 'http://localhost:1338/' 

app.all("/app1/*", function(req, res) { 
    proxy.web(req, res, {target: app1}); 
}); 

app.all("/app2/*", function(req, res) { 
    proxy.web(req, res, {target: app2}); 
}); 

app.listen(3000); 

dieses Programm macht die Umleitung gut, aber jetzt ist das Problem ist, dass, wie ich die generierten Links ändern kann in sailsjs für jede Datei als Javascript und CSS-Dateien? Vielen Dank

+0

das ist wirklich seltsam Set up. Müssen Sie das wirklich so machen? Was ist dein Fall im vollen Bild? Es muss eine bessere Lösung geben. –

+0

Was ich genau brauche ist, einen Port zu benutzen, um auf verschiedene Segelanwendungen zuzugreifen. So kann ich http schreiben: // localhost: 3000/app1 app1 oder http zuzugreifen: // localhost: 3000/app2 app2 ich ein Repository für den Fall geschaffen haben, um Zugriff auf https://github.com/Islimaim/multiple-sails-applikationen der browser kann nicht css erreichen, js dateien –

+0

Sie haben nicht bekommen, wonach ich gefragt habe. Warum müssen Sie sie mit dem gleichen Port ausführen? –

Antwort

2
  1. installieren nginx
  2. Führen Sie Ihre Anwendungen auf verschiedenen Ports.
  3. Unter Linux /etc/nginx/sites-available/default (anders unter Windows, aber wahrscheinlich leicht zu finden):

-

server { 
    listen 80; 
    server_name apps.dev/1; 

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

server { 
    listen 80; 
    server_name apps.dev/2; 

    location/{ 
     proxy_pass http://localhost:3002; 
     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; 
    } 
} 
  1. Sie können Ihre Anwendungen zugreifen verwenden: apps.dev/1 oder apps.dev/2
  2. Für die Produktion Sie jede Domäne anwenden können an den Server gerichtet.
  3. Für lokale dev nur virtuellen Host, um alles von der Produktionsdomäne auf lokale nginx umleiten.
+0

Bitte ich habe einen Fehler in dieser Zeile server_name apps.dev/1; –

+0

Ich habe eine Datei namens nginx.conf in Windows gefunden. Sollte ich löschen alle Inhalte Ich habe nur diese Zeilen nach einem anderen Server –

+0

http://nginx.org/en/docs/windows.html ich nicht zu viel mit, dass helfen kann. Es sollte nicht schwer sein, Google zu verwenden, um zu finden, was Sie vermissen. Ich hoffe, ich habe Ihnen eine gute Idee gegeben, um Ihr Problem zu lösen. Wenn ja, bitte upvote und akzeptiere die Antwort. –

Verwandte Themen