2 votes

Laravel EC2 Nginx PHP 7 les scripts téléchargés au lieu d'être exécutés

Les scripts php sont téléchargés sur le serveur Amazon ec2 avec nginx installé au lieu d'être exécutés.

Voici mon fichier de configuration nginx:

utilisateur nginx;
processus_de_travail auto;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

événements {
    connexions_de_travail 1024;
}

http {
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include /etc/nginx/mime.types;

    # Charger les fichiers de configuration modulaires à partir du répertoire /etc/nginx/conf.d.
    # Voir http://nginx.org/en/docs/ngx_core_module.html#include
    # pour plus d'informations.
    include /etc/nginx/conf.d/*.conf;

    index index.php index.html index.htm;

    serveur {
        écoute 80;
        server_name  appwarded.com www.appwarded.com;
        racine /var/www/appwarded;
        index index.php index.html index.htm;

        # Charger les fichiers de configuration pour le bloc de serveur par défaut.
        include /etc/nginx/default.d/*.conf;

        location / {

        }

        location ~* \.(gif|jpg|jpeg|png|js|css)$ {

        }

        location /app {
            alias /var/www/appwarded/app;

            expires -1;
            add_header Pragma "no-cache";
            add_header Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0";

            try_files $uri $uri/ /index.html =404;
        }

        location ^~ /app/api {
            alias /var/www/appwarded/app/api/public;
            try_files $uri $uri/ @api;
        }

        location ~ \.php {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }

        location @api {
            rewrite /app/api/(.*)$ /app/api/index.php?/$1 last;
        }

        # page_erreur  404              /404.html;

        # rediriger les pages d'erreur du serveur vers la page statique /50x.html
        #
        error_page 500 502 503 504 /50x.html;
        emplacement = /50x.html {
            racine html;
        }
    }

}

0voto

Michiel Palmen Points 31

J'ai remplacé le bloc suivant :

location ^~ /app/api {
    alias /var/www/appwarded/app/api/public;
    try_files $uri $uri/ @api;
} 

Par :

location ^~ /app/api {
        alias /var/www/appwarded/app/api/public;
        try_files $uri $uri/ @api;

        location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass   127.0.0.1:9000;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME /chemin/vers/laravel/public/index.php;
        }
}

Ce changement a résolu le problème.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X