it-swarm.com.de

So starten Sie Nginx über einen anderen Port (außer 80)

Hallo, ich bin ein Neuling auf Nginx. Ich habe versucht, es auf meinem Server (mit Ubuntu 4) einzurichten, auf dem bereits Apache ausgeführt wird.

Nachdem ich es apt-get install Habe, habe ich versucht, Nginx zu starten. Dann bekomme ich die Nachricht wie folgt:

Starting nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)

Dies ist sinnvoll, da Apache Port 80 verwendet.

Dann habe ich versucht, nginx.conf Zu ändern, ich verweise auf einige Artikel, also habe ich es so geändert:

   server {

        listen       8080;

        location / {
         proxy_pass  http://xx.xx.xx.xx:9500;
         proxy_set_header   Host             $Host:8080;
         proxy_set_header   X-Real-IP        $remote_addr;
         proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
         proxy_set_header Via    "nginx";
        }

Nachdem ich dies gespeichert und versucht habe, nginx erneut zu starten, erhalte ich immer noch den gleichen Fehler wie zuvor. Ich kann keinen ähnlichen Beitrag dazu finden. Könnten gute Leute ein bisschen Licht ins Dunkel bringen?

Danke im Voraus :)

=============================================== ======================

Ich sollte den ganzen Inhalt in conf hier posten:

user www-data;
worker_processes  1;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
    # multi_accept on;
}

http {
    include       /etc/nginx/mime.types;

    access_log  /var/log/nginx/access.log;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;

    gzip  on;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

   server {

        listen       81;

        location / {
         proxy_pass  http://94.143.9.34:9500;
         proxy_set_header   Host             $Host:81;
         proxy_set_header   X-Real-IP        $remote_addr;
         proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
         proxy_set_header Via    "nginx";
        }


    }
}

 mail {
      See sample authentication script at:
      http://wiki.nginx.org/NginxImapAuthenticateWithApachePhpScript

      auth_http localhost/auth.php;
      pop3_capabilities "TOP" "USER";
      imap_capabilities "IMAP4rev1" "UIDPLUS";

     server {
         listen     localhost:110;
         protocol   pop3;
         proxy      on;
     }

     server {
         listen     localhost:143;
         protocol   imap;
         proxy      on;
     }
 }

Grundsätzlich habe ich nichts geändert, außer den Serverteil hinzuzufügen.

116
Zhao Peng

Sie müssen zu /etc/nginx/sites-enabled/ Gehen, und wenn dies die Standardkonfiguration ist, sollte es eine Datei mit dem Namen geben: default.

Bearbeiten Sie diese Datei, indem Sie den gewünschten Port definieren. Im folgenden Snippet bedienen wir die Nginx-Instanz auf Port 81.

server {
    listen 81;
}

Führen Sie die folgende Befehlszeile aus, um den Server zu starten.

Sudo service nginx start

Sie können jetzt über Port 81 auf Ihre Anwendung zugreifen (für localhost http: // localhost: 81 ).

165
Chamith Malinda

Sie müssen den Konfigurationsport von Apache oder Nginx ändern. Anschließend müssen Sie die neu konfigurierten Server mit dem von Ihnen verwendeten Befehl 'service' neu starten.


Apache

Bearbeiten

Sudo subl /etc/Apache2/ports.conf 

und ändern Sie die 80 in der folgenden Zeile in etwas anderes:

Listen 80

Wenn Sie nur den Port ändern oder hier weitere Ports hinzufügen, müssen Sie wahrscheinlich auch die VirtualHost-Anweisung in ändern

Sudo subl /etc/Apache2/sites-enabled/000-default.conf

und ändern Sie die 80 in der folgenden Zeile in etwas anderes:

<VirtualHost *:80>

dann neu starten durch:

Sudo service Apache2 restart

Nginx

Bearbeiten

/etc/nginx/sites-enabled/default

und ändern Sie die 80 in der folgenden Zeile:

listen 80;

dann neu starten durch:

Sudo service nginx restart
22

Folge dies: Öffne deine Konfigurationsdatei

vi /etc/nginx/conf.d/default.conf

Ändern Sie die Portnummer, die Sie abhören.

listen       81;
server_name  localhost;

Fügen Sie iptables eine Regel hinzu

 vi /etc/sysconfig/iptables 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 81 -j ACCEPT

Starten Sie IPtables neu

 service iptables restart;

Starten Sie den Nginx-Server neu

service nginx restart

Greifen Sie auf Ihre Nginx-Serverdateien über Port 81 zu

19
sinshiva

Wenn Sie unter Windows arbeiten, finden Sie die folgenden Port-bezogenen Servereinstellungen in der Datei nginx.conf at <nginx-Installationspfad>/conf Ordner.

server {
    listen       80;
    server_name  localhost;
....

Ändern Sie die Portnummer und starten Sie die Instanz neu.

3
skvp

Wenn dieses Problem bei der Verwendung von Docker auftritt, müssen Sie die richtigen Portnummern zuordnen. Wenn Sie Port 81:80 beim Ausführen von docker (oder über docker-compose.yml) zuordnen, muss Ihr Nginx Port 80 nicht 81 überwachen, da docker die Zuordnung bereits vornimmt.

Ich habe ziemlich viel Zeit mit diesem Thema verbracht, also hoffe ich, dass es für zukünftige Googler hilfreich sein kann.

0
thephper