Es gibt viele Tutorials, wie man Nginx-Umschreibregeln schreibt, um Apaches .htaccess-Datei nachzuahmen, aber ich kann nicht mit Sicherheit sagen, dass ich weiß, wie der Name oder der Speicherort dieser sogenannten Nginx-Konfigurationsdatei tatsächlich ist. Ich suche speziell nach der Nginx-Konfigurationsdatei, mit der Sie den Serverpfad und PHP-Anweisungen schreiben können. Ich benutze Ubuntu 12 Linux und Codeigniter als mein PHP-Framework.
Folgendes weiß ich bisher:
- Diese Datei:
/etc/nginx/nginx.conf
Trotz ihres verlockenden Namens ist sie anscheinend nicht der Ort für Server-Direktiven. - Diese Datei:
/etc/nginx/sites-available/default
scheint genau das zu sein, was ich brauche (ich kann für meine App spezifische PHP-Fehler erzeugen), aber ich kann die Codeigniter-spezifische Pfad-Routing nicht korrekt ausführen. Ist dies zuallererst die "Konfigurations" -Datei / .htaccess-Entsprechung, von der jeder spricht?
php
apache-2.2
.htaccess
codeigniter
nginx
Tim Peterson
quelle
quelle
nginx -V
was Sie im Handbuch mit finden könnenman nginx
. Die-V
Option ist dokumentiert als "-V Gibt die Nginx-Version und die Compilerversion aus und konfiguriert die Skriptparameter." Wennnginx
nicht in Ihrem Pfad, verwenden Sie,which nginx
die den vollständigen Pfad zu$(which nginx) -V
Antworten:
Ich verwende PHP mit nginx auf meinem Entwicklungsserver mit der folgenden Konfiguration:
in
/etc/nginx/nginx.conf
fügte ich hinzu:include /etc/nginx/sites-enabled/*;
vor dem letzten}
.Führen Sie die folgenden Befehle aus, um Ihre Standortkonfigurationen zu erstellen:
Bearbeiten Sie die Site-Konfiguration und einige mögliche Konfigurationen (auf die ich in meinem Setup verwiesen habe): http://kbeezie.com/view/nginx-configuration-examples/
Verlinken Sie auf die verfügbare Site, um sie zu aktivieren
Denken Sie daran, dass Sie Dateien praktisch überall in die Konfigurationen einbeziehen können. Dies erleichtert das Erstellen mehrerer Sites, wenn Sie ähnliche Konfigurationen zusammenfassen möchten.
Ja, .htaccess ist vergleichbar mit dem
server{}
Block in Nginx, aber sie sind auch sehr unterschiedlich. nginx hat einen wesentlich einfacheren Ansatz zum Parsen von Konfigurationen und durchsucht Site-Verzeichnisse nicht nach zusätzlichen Konfigurationen, sondern nur das, was von nginx.conf angezeigt wird.quelle
/etc/nginx/nginx.conf
Datei schoninclude /etc/nginx/sites-enabled/*;
ganz am Ende. Es sieht so aus, als würden diese beiden Dateien auf meinem Server miteinander kommunizieren und jetzt beschäftige ich mich mit Codeigniter-spezifischen Problemen. Verwenden Sie Codeigniter? Es gibt ein paar Pfade, die ich in den Griff bekommen muss ...root
Parameter falsch konfiguriert habe . Zögern Sie nicht, meine Fragen zu lesen, wenn Sie Inspiration benötigen.