nginx vHost eigene Einstellungen

  • Moin,


    ich probiere seit einigen Tagen LiveConfig mit nginx. Gibt es eine Möglichkeit der vHost Datei benutzerspezifische Sachen hinzu zu fügen OHNE das die beim neuschreiben der Konfiguration wieder weg sind?


    Genauer gesagt geht´s um solche Sachen die in die DOMAIN.conf der entsprechenden Domain eingefügt werden sollen:


    Code
    location / {
    try_files $uri $uri/ /index.php?$args;
    }
    location ~* \.(js|css|png|jpg|jpeg|gif|ico)(\?ver=[0-9.]+)?$ {
            expires 1y;
    }


    Gruss
    Moritz

  • Moin Björn,


    darüber bin ich eben auch gestolpert, allerdings ist mir nicht ganz klar wie ich Code Schnippsel die in den "Server { }" Block gehören einbinden kann.


    Eigentlich müsste es ja so aussehen


    Code
    server {
    ......
    location / {
    try_files $uri $uri/ /index.php?$args;
    }
    location ~* \.(js|css|png|jpg|jpeg|gif|ico)(\?ver=[0-9.]+)?$ {
            expires 1y;
    }
    }


    Wenn ich aber so einen Server Block in die conf packe kann es logischerweise nicht funktionieren. :/


    Gruss
    Moritz

  • So wie es beschrieben ist würde es ja ungefähr folgendermaßen aussehen wobei ich noch eine Abfrage
    einbauen würde um die Änderungen nur für eine spezifische Domain zu machen. Wie Herr Keppler schrieb wird es ja in jedem VHost eingebunden.


    Code
    if ($http_host = test.de) {
    	location / {
    		try_files $uri $uri/ /index.php?$args;
    	}
    
    
    	location ~* \.(js|css|png|jpg|jpeg|gif|ico)(\?ver=[0-9.]+)?$ {
    	        expires 1y;
    	}
    }


    Das Hauptproblem wird hier ja der "location /" Block sein da dieser ja dann doppelt vorhanden ist.
    Ich wüsste nicht wie du dort was rein bekommst ohne händische Anpassung.


    Grüße
    Björn

  • Ja so in etwa macht das rein vom Code her Sinn, danke dafür.
    Aber in die nginx.conf kommt das nicht, oder? Zumindest wüsste ich nicht wo :)


    Alternativ richte ich die beiden Webspaces ein und füge dass dann in die Originaldateien ein. Darf halt nicht mehr aktualisieren ^^


    Gruss
    Moritz

  • Ich würde schon sagen das es in die nginx.conf kommt. Schließlich wird alles was dort drinnen steht ja im Server Block
    eingebunden. Ehrlich gesagt habe ich mich mit Liveconfig und Nginx noch nicht weiter auseinandergesetzt um hier aber sicher zu sein ;)


    Gruß
    Björn

  • Moin,


    ja ich habe mich seit Jahren nicht mit vServern und dergleichen herumgeschlagen und davor auch nur mit Apache. Bei Allem was ich über Nginx gelesen habe dachte ich mir dass es eine gute Idee sei ... naja aber Sie arbeiten ja an der Implementation von Nginx in LiveConfig .... warten wir einfach mal ab :)


    Gruss
    Moritz

  • Hab mich heute an den Support gewandt und auch gleich von Herrn Keppler eine tolle Antwort gekriegt. Denke mal er ist einverstanden wenn ich hier seine Antwort auszugsweise veröffentliche :)



    Zitat

    manuelle nginx-Anweisungen können Sie aktuell in einer Datei namens ~/conf/nginx.conf ablegen (z.B. also /var/www/###/conf/nginx.conf) eintragen.


    Schreiben Sie da einfach die Anweisungen hinein und lassen Sie anschließend durch LiveConfig die NGINX-vHost-Konfiguration aktualisieren (dazu reicht es im LiveConfig unter "Hosting" -> "Domains" irgendeine (Sub)Domain anzuklicken und in dem erscheinenden Popup-Fenster einfach wieder auf "speichern" zu klicken).
    LiveConfig erzeugt somit die vHost-Konfiguration neu, erkennt dabei dass die ~/conf/nginx.conf vorhanden ist und nimmt diese per "include" mit auf.


    sprich in meinem Fall:


    1.) nano /var/www/DEINFOLDER/conf/nginx.conf
    2.) Einfügen von

    Code
    location / {
    try_files $uri $uri/ /index.php?$args;
    }
    location ~* \.(js|css|png|jpg|jpeg|gif|ico)(\?ver=[0-9.]+)?$ {
            expires 1y;
    }


    3.) Öffnen der Liveconfig Seite --> Hosting --> Domains --> Domain öffnen und wieder speichern klicken


    Nach einem Reboot sind die Einstellungen noch da!


    Vielen Dank für die Hilfe!

  • Ne, scheinbar nicht .... muss aber *hust* zu meiner Schande zugeben das ich in der falschen Datei gewühlt hatte :rolleyes:


    Wenn es funktioniert hat taucht in der conf Datei (bei nginx unter /etc/nginx/sites-available/) folgende Zeile auf:

    Code
    # Include customer-specific configuration options:
        include /var/www/blog/conf/nginx.conf;


    also auf gut Deutsch ich habs falsch interpretiert aber nun gehts :)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!