NGINX URL auf DigitalOcean neu schreiben

Ich habe Probleme mit der URL-Umschreibung von example.com auf www.example.com auf dem nginx-Webserver. Ich benutze das neue Hosting digitalocean.com und kämpfe immer noch mit ...

Ich werde mit jeder Meinung glücklich sein.

Da ist mein Code:

server {
  server_name example.com;
  return 301 http://www.example.com$request_uri;
}

server {
  server_name www.example.com;

  root /usr/share/nginx/www;
  index index.php index.html index.htm;

  error_page 404 /404.html;
  error_page 500 502 503 504 /50x.html;

  location = /50x.html {
    root /usr/share/nginx/www;
  }

  location/{
    try_files $uri $uri/ /index.html;
  }

  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;        
  }
}

Ich habe einen Fehler beim Versuch, den nginx-Server neu zu starten:

Restarting nginx: nginx: [emerg] could not build the server_names_hash, you should 
increase server_names_hash_bucket_size: 32
nginx: configuration file /etc/nginx/nginx.conf test failed
0
sry schon bearbeitet Danke!
hinzugefügt der Autor Makromat, Quelle
Sry da war Tippfehler ... Das ist das gleiche wie in meinem Nginx-Server mit derselben Fehlermeldung.
hinzugefügt der Autor Makromat, Quelle
Entschuldigung, was meinst du "Real Server Name lang?"
hinzugefügt der Autor Makromat, Quelle
hinzugefügt der Autor Makromat, Quelle
Du hast nicht erklärt, was du erreichen willst
hinzugefügt der Autor Mohammad AbuShady, Quelle
Der erste Serverblock ist dupliziert, hast du das wirklich?
hinzugefügt der Autor Mohammad AbuShady, Quelle
Ich denke das Problem ist nicht hier, ist dein richtiger Servername lang?
hinzugefügt der Autor Mohammad AbuShady, Quelle

2 Antworten

Der Servername ist wahrscheinlich zu lang für die Standardwerte.

Ändern Sie die Datei /etc/nginx/nginx.conf, indem Sie unter http Folgendes hinzufügen:

increase server_names_hash_bucket_size: 64

Speichern Sie diesen Wert und testen Sie ihn mit der Option -t

nginx -t

Achten Sie auch auf gespeicherte Standardkonfigurationen im Ordner "sites-available", die Probleme verursachen können.

0
hinzugefügt

Versuche Folgendes:

server {
  server_name example.com;
  return 301 http://www.example.com$request_uri;
}

server {
  server_name www.example.com;

  root /usr/share/nginx/www;
  index index.php index.html index.htm;

  error_page 404 /404.html;
  error_page 500 502 503 504 /50x.html;

  location = /50x.html {
    root /usr/share/nginx/www;
  }

  location/{
    try_files $uri $uri/ /index.html;
  }

  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;        
  }
}
0
hinzugefügt
hey Mohammad ich habe schon code bearbeitet ... ich habe einen Fehler beim neustart nginx server. Weißt du, warum ?
hinzugefügt der Autor Makromat, Quelle
Dies ist eine gute Antwort, aber ich würde sagen, es sollte 301 nicht 302 sein
hinzugefügt der Autor Mohammad AbuShady, Quelle