Nginx + Codeigniter-Konfiguration funktioniert nicht unter CentOS 7?

Nginx + Codeigniter-Konfiguration funktioniert nicht unter CentOS 7?

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.confDatei 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.infomeinen Pfad einwandfrei funktioniert http://173.249.40.xxx/ci/info.php, aber nicht für CodeIgniter, controller namewie http://173.249.40.xxx/ci/index.php/Welcomebeim 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 /ciwerden 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.confDatei nicht zu bearbeiten. Bearbeiten Sie lediglich gzipeinen 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

verwandte Informationen