Ich bin neu bei nginx und versuche, das Problem auf StackOverflow zu finden, habe aber in Foren nicht das genaue Problem gefunden. Nach der erfolgreichen Installation von nginx, MySQL und php-fpm teste ich php.info, das einwandfrei funktionierte.
Ich verschiebe das CodeIgniter-Projekt vom Apache-Server auf den Nginx. Ich bearbeite die nginx.conf
Datei mit dem Code
server {
listen 80;
server_name 173.249.40.xxx;
# note that these lines are originally from the "location /" block
root /usr/share/nginx/html/ci;
index index.html index.htm index.php;
location /ci {
try_files $uri $uri/ /index.php;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
es hat für php.info
meinen Pfad einwandfrei funktioniert http://173.249.40.xxx/ci/info.php
, aber nicht für CodeIgniter, controller name
wie http://173.249.40.xxx/ci/index.php/Welcome
beim Aufruf.
Der CodeIgniter-Anwendungspfad ist'/usr/share/nginx/html/ci/;'
Bitte schlagen Sie mir etwas vor. Wie kann ich das Problem beheben?
Antwort1
Hier ist der Fehler:
location /ci {
Aus diesem Grund /ci
werden nur URL-Pfade, die mit beginnen, vom umschließenden verarbeitet try_files
. Das ist nicht das, was Sie wollen.
Stattdessen sollten Sie alle URLs verarbeiten lassen, mit
location / {
Antwort2
Ich empfehle, die nginx.conf
Datei nicht zu bearbeiten. Bearbeiten Sie lediglich gzip
einen neuen Include-Ordner (wie include /etc/nginx/sites/enabled/*.conf;
), kommentieren Sie die ursprüngliche Include-Zeile aus und erstellen Sie dort Ihre Konfigurationsdatei mit dem Namen com.mywebsite.conf in dem Ordner, den ich zuvor erwähnt habe.
So habe ich es in der Vergangenheit gemacht:
Kopieren Sie in die erwähnte neue Konfigurationsdatei den Inhalt der offiziell empfohlenen Konfiguration. Das sollte funktionieren, wenn Sie die Variablen in Ihrem System ändern.
https://www.nginx.com/resources/wiki/start/topics/recipes/codeigniter/
Speichern Sie Ihre Websites außerdem in/var/www/html/mywebsite