Von Apache zu Nginx wechseln

  • Hallo,

    ich habe derzeit ein Hotel mit dem BrainCMS auf einem Apache Server gebaut. Nun möchte ich gerne zu nginx wechseln.

    Der nginx Webserver ist bereits erfolgreich konfiguriert, genauso PHP 7.1 und MariaDB.

    Das BrainCMS läuft auf Apache ganz normal. Sobald ich allerdings das CMS in den DocumentRoot Ordner vom nginx Server verschiebe, die Configs einstelle bekomme ich folgendes Bild:

    7h8UMbM.png

    Ich habe gehört, dass nginx nicht mit der .htaccess von apache funktioniert. Den gleichen Fehler bekomme ich, wenn ich beim Apache Server die .htaccess entferne.

    Somit vermute ich, es liegt an der .htaccess.

    Ich habe bereits gegooglet und auch einen Converter verwendet, jedoch ohne Erfolg.

    Hat jemand von euch eine Ahnung, wie ich das unter nginx ans laufen bekomme?

    Gruß

    Akryx

  • Na dann hau mal die Konfigurationsdatei von nginx raus.

    Bei Debian 9 liegt die sofern nginx vom Standard Repo bezogen in

    /etc/nginx/nginx.conf

    /etc/nginx/sites-enabled/default

    Debian 9 - nginx Repo:

    /etc/nginx/nginx.conf

    /etc/nginx/conf.d/default

    FreeBSD 11:

    /usr/local/nginx/nginx.conf

    /usr/local/nginx/conf.d/default

    Ich hoffe ich hab zu so früher Stunde keinen Denkfehler LUL


    ---

    Nachtrag: und ja, nginx kann absolut nichts mit einer .htaccess anfangen. Eventuelle URL Rewrite Regeln musst du dann natürlich ersteinmal maßgeschneidert an nginx anpassen. Hierbei gibt es auch wieder ein paar Fallen :p

  • kann nicht sein, laut deinem screen ist php nicht konfiguriert. zumindest nicht php-fpm via unix socket. hast du da irgendein fragwürdiges modul für nginx installiert via apt um dir die konfiguration zu ersparen?

    sonst hast du evtl auch die falsche konfigurationsdatei erwischt.

  • kann nicht sein, laut deinem screen ist php nicht konfiguriert. zumindest nicht php-fpm via unix socket. hast du da irgendein fragwürdiges modul für nginx installiert via apt um dir die konfiguration zu ersparen?

    sonst hast du evtl auch die falsche konfigurationsdatei erwischt.

    Es gab die Möglichkeit bei der Serverauswahl, sich eine "Application" zusätzlich zu seinem Betriebssystem zu installieren. Ich habe LEMP ausgewählt. Die Konfigurationsdateien und der Document Root Ordner ist anders als bei einer Installation über apt-get install nginx php-fpm mariadb-server..

    Ich habe zuerst versucht das alles manuell zu installieren, allerdings hat die Konfiguration von PHP nicht funktioniert (die .php Datei wurde vom Browser heruntergeladen, anstatt sie anzuzeigen)..obwohl ich alles wie im Tutorial gemacht habe.

    PoZ3MRW.png

    Das ist die Datei /etc/nginx/conf.d (verweist oben auf die andere Konfigurationsdatei)

    Das andere war /var/default-conf/nginx/conf.d

  • Das andere war /var/default-conf/nginx/conf.d

    Da hat eine Konfigurationsdatei aber nichts zu suchen.

    /etc/nginx/conf.d

    Das hier sollte eigentlich ein Ordner sein, dass ist vermutlich /etc/nginx/conf.d/default.conf

    Das letzte Bild sieht schon sinnvoller aus, erklärt warum PHP funktioniert. Leider ist die TCP Variante zur Kommunikation zwischen nginx und php völlig daneben. Lieber via unix sockets.

    Mich verwundert das der location / Block fehlt, ansonsten sollten die php Seiten theoretisch funktionieren - es sei denn das cms ist garnicht mit php 7 kompatibel. Ist ja bei dem retro Schrott nicht selten. Ansonsten fehlen dir halt noch die URL Rewrite Regeln.

  • Da hat eine Konfigurationsdatei aber nichts zu suchen.

    Das hier sollte eigentlich ein Ordner sein, dass ist vermutlich /etc/nginx/conf.d/default.conf

    Das letzte Bild sieht schon sinnvoller aus, erklärt warum PHP funktioniert. Leider ist die TCP Variante zur Kommunikation zwischen nginx und php völlig daneben. Lieber via unix sockets.

    Mich verwundert das der location / Block fehlt, ansonsten sollten die php Seiten theoretisch funktionieren - es sei denn das cms ist garnicht mit php 7 kompatibel. Ist ja bei dem retro Schrott nicht selten. Ansonsten fehlen dir halt noch die URL Rewrite Regeln.

    Das BrainCMS funktioniert auch nur mit XAMPP mit PHP 5.6., nicht mit 7.1. Auch nicht mit einer LAMP Installation mit PHP7

  • selbstverständlich. die frage ist ob sich die dienste nicht andauernd selbst umbringen wollen. port 9000 ist unter gnu/linux und freebsd nämlich bezogen auf php der standard. keine ahnung was du da wie konfiguriert hast, es ist aufjedenfall nicht optimal.

    generell würde ich wie gesagt von verbindungen von nginx zu tcp abraten und unix sockets verwenden.

Jetzt mitmachen!

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