OS: Funtoo. Ich habe NGINX an Port 81 gebunden (ich möchte es für einen kurzen Übergang neben meinem Apache-Server ausführen, um den Übergang zu vereinfachen) und es lauscht am Port (Wenn ich mit wget auf einen anderen Port zeige, wird "Verbindung abgelehnt" angezeigt). aber über Port 81 werde ich "verbunden"), aber es wird niemals eine HTML-Antwort jeglicher Art bereitgestellt!
Wenn ich ein wget auf dem Port vom localhost aus starte, bekomme ich:
# wget localhost:81
-2014-04-16 23:56:45- http://localhost:81/
Resolving localhost... 127.0.0.1
Connecting to localhost|127.0.0.1|:81... connected.
HTTP request sent, awaiting response...
Auf einem anderen Computer ...
$ wget 192.168.18.42:81
-2014-04-16 23:57:19- http://192.168.18.42:81/
Connecting to 192.168.18.42:81... connected.
HTTP request sent, awaiting response...
Danach passiert nie mehr etwas. Die Dokumente existieren, es ist die normale Funtoo nginx.conf.
UPDATE: Ich kann es dazu bringen, Port 80 abzuhören, aber es erschüttert mich immer noch, dass ich es an keinem Port zum Laufen bringen kann ...
netstat -aWn | grep 81 | grep LISTEN
tcp 60 0 0.0.0.0:81 0.0.0.0:* LISTEN
Bearbeiten: Konfigurationsdateien:
user nginx nginx;
worker_rlimit_nofile 6400;
error_log /var/log/nginx/error_log info;
events {
worker_connections 1024;
use epoll;
}
http {
include /etc/nginx/mime.types;
# This causes files with an unknown MIME type to trigger a download action in the browser:
default_type application/octet-stream;
log_format main
'$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$gzip_ratio"';
client_max_body_size 64m;
# Don't follow symlink if the symlink's owner is not the target owner.
disable_symlinks if_not_owner;
server_tokens off;
ignore_invalid_headers on;
gzip off;
gzip_vary on;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js image/x-icon image/bmp;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
index index.html;
include /etc/nginx/sites-enabled/*;
}
Serverblock:
server {
listen *:81;
root /usr/share/nginx/html;
location / {
index index.html;
}
}
quelle
iptables
)? Wenn ja, haben Sie daran gedacht, Port 81 zuzulassen?Antworten:
Versuchen Sie den folgenden Serverblock:
Der Unterstrich
_
ist ein Platzhalter. Auch das, was*:81
wahrscheinlich nicht das tut, was Sie erwarten, verwenden Sie einfach die Portnummer.Dann testen Sie Ihre Einstellungen mit
nginx -t
:Starten Sie nginx neu:
Test mit netstat:
Aktualisieren
Ich habe nginx auf einem Testsystem installiert. Mit der Bestandsdatei
nginx.conf
und einer Änderung von 1 Zeile in/etc/nginx/sites-enabled/default
konnte ich Dateien von Port 81 abrufenNetstat-Ausgabe:
Download-Datei:
Inhalt der Datei:
Update2
Testport:
quelle
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 9 0 0.0.0.0:81 0.0.0.0:* LISTEN 1026/nginx: master
Immer noch kein Erfolg. Ist Recv-Q 9 ein Hinweis? Es geht jedes Mal hoch, wenn ich ein Wget oder ähnliches versuche. Der Serverblock ist genau so, wie Sie es vorgeschrieben haben.Stellt sich das große Problem heraus? Nginx hatte worker_processes auf 0 gesetzt. Ich habe
auto
oben in meiner nginx.conf eine Zeile hinzugefügt, in der alles in Ordnung mit der Welt war!Vielen Dank für Ihre Zeit und Geduld.
quelle
0
für verwendet wurdenworker_processes
, und ich war völlig verblüfft, nachdem ich alle anderen Konfigurationsdateien, DNS, Hosts usw. vierfach überprüft hatte.