2016-12-12 4 views
-1

Ich bin irgendwie neu beim Einrichten einer Produktionsmaschine und ich verstehe nicht, warum ich die Standard-Indexseite für nginx auf meiner EC2-Maschine nicht sehe. Es ist installiert und läuft auf meinem Server, aber wenn ich versuche, darauf zuzugreifen, wird es geladen und zeigt nichts, bleibt auf einer leeren Seite. Ich versuche, über die öffentliche IP (35.160.22.104) und über öffentliche DNS (ec2-35-160-22-104.us-west-2.compute.amazonaws.com) zuzugreifen. Beides macht dasselbe. Was mache ich falsch?NGINX Amazon EC2 wird geladen, zeigt aber nichts

UPDATE: Ich erkannte, dass beim Neustart von Nginx-Dienst, es nicht die "OK" Nachricht angezeigt wurde. Also nahm ich einen Blick auf error.log:

[ 2016-12-12 17:16:11.2439 709/7f3eebc93780 age/Cor/CoreMain.cpp:967 ]: Passenger core shutdown finished 
2016/12/12 17:16:12 [info] 782#782: Using 32768KiB of shared memory for push module in /etc/nginx/nginx.conf:71 
[ 2016-12-12 17:16:12.2742 791/7fb0c37a0780 age/Wat/WatchdogMain.cpp:1291 ]: Starting Passenger watchdog... 
[ 2016-12-12 17:16:12.2820 794/7fe4d238b780 age/Cor/CoreMain.cpp:982 ]: Starting Passenger core... 
[ 2016-12-12 17:16:12.2820 794/7fe4d238b780 age/Cor/CoreMain.cpp:235 ]: Passenger core running in multi-application mode. 
[ 2016-12-12 17:16:12.2832 794/7fe4d238b780 age/Cor/CoreMain.cpp:732 ]: Passenger core online, PID 794 
[ 2016-12-12 17:16:12.2911 799/7f06bb50a780 age/Ust/UstRouterMain.cpp:529 ]: Starting Passenger UstRouter... 
[ 2016-12-12 17:16:12.2916 799/7f06bb50a780 age/Ust/UstRouterMain.cpp:342 ]: Passenger UstRouter online, PID 799 

Wie auch immer, es ist sieht nicht wie ein Fehler, aber ein übliches Protokoll.

UPDATE 2: Nginx läuft:

root  810  1 0 17:16 ?  00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; 
www-data 815 810 0 17:16 ?  00:00:00 nginx: worker process 
ubuntu  853 32300 0 17:44 pts/0 00:00:00 grep --color=auto nginx 

Und wenn ich curl localhost versuchen zu tun, es gibt den HTML wie erwartet!

UPDATE3:

Wenn ich systemctl status nginx laufen lasse, erhalte ich folgende Fehlermeldung:

Dec 12 17:54:48 ip-172-31-40-156 systemd[1]: nginx.service: Failed to read PID from file /run/nginx.pid: Invalid argument 

Sie versuchen, herauszufinden, was es

Update4 ist: Ran den Befehl nmap 35.160.22.104 -Pn PORT STATE SERVICE 22/tcp und bekam die Ausgabe :

Starting Nmap 7.01 (https://nmap.org) at 2016-12-12 18:05 UTC 
Failed to resolve "PORT". 
Failed to resolve "STATE". 
Failed to resolve "SERVICE". 
Unable to split netmask from target expression: "22/tcp" 
Nmap scan report for ec2-35-160-22-104.us-west-2.compute.amazonaws.com (35.160.22.104) 
Host is up (0.0015s latency). 
Not shown: 999 filtered ports 
PORT STATE SERVICE 
22/tcp open ssh 

UPDATE5:

Ausgang für netstat -tuanp | grep 80:

(Not all processes could be identified, non-owned process info 
will not be shown, you would have to be root to see it all.) 
tcp  0  0 0.0.0.0:80    0.0.0.0:*    LISTEN  -    
tcp6  0  0 :::80     :::*     LISTEN  - 
+0

Leere Seite ist wirklich eine weiße Seite? ohne irgendwelche Buchstaben? ^^ Überprüfen Sie die nginx-Fehlerprotokolle. Bestätigen Sie, dass Sie eine Sicherheitsgruppe mit geöffnetem Port 80 haben, die dieser Instanz zugeordnet ist. Geben Sie weitere Details an! – Tomahock

+0

@Tomahock genau. Es versucht eine Weile zu laden und stoppt dann. Kein Fehler, keine Nachricht. Ich habe die Frage aktualisiert, vielleicht hilft es, sie zu verstehen. Danke vielmals! –

+0

Ich bin kein Passagier, aber bestätige, dass nginx '$ ps -ef | grep nginx' Prüfen Sie den Server, ob er '$ curl localhost' antwortet. Haben Sie bestätigt, dass eine Sicherheitsgruppe mit den richtigen Ports geöffnet ist? – Tomahock

Antwort

2

Ihre EC2-Instanz haben eine Sicherheitsgruppe zugeordnet. Sie sollten zur AWS-Konsole EC2 gehen -> Instanzen -> Klicken Sie auf Ihre Instanz -> auf der unteren 'Beschreibung' -> Sicherheitsgruppe. Klicken Sie auf den Namen und Sie werden zu EC2-> Netzwerk und Sicherheit weitergeleitet. Klicken Sie auf 'Eingehende Regeln bearbeiten' In der Regel:

  • Typ: HTTP

speichern. Und das sollte in Ordnung sein!

+0

Wenn Sie HTTPs verwenden (und Sie sollten), fügen Sie HTTPs eine weitere Regel als Typ hinzu, mit der AWS auch eine vorgefertigte Regel bereitstellt! – Tomahock

+0

Oh, ich tat das, als ich die Instanz startete ... aber etwas anderes auf nginx gefunden und die Frage aktualisiert. Vielen Dank für deine Hilfe! –

+0

Versuchen Sie, diesen Befehl mit Sudo auszuführen.Wenn nginx läuft (man könnte kräuseln localhost) es sieht wirklich geschlossenen Hafen: '' 'nmap 35.160.22.104 -Pn PORT STATE SERVICE 22/tcp open ssh Nmap getan: 1 IP-Adresse (1 Host-up) gescannt in 13.19 Sekunden''' Wenn du den Server '$ curl 35.160.22.104' anprobierst, wird es scheitern, richtig? – Tomahock