Domanda

Sto cercando di installare Magento2 (0.1.0-Alpha107) nel mio localhost alimentato da OSX 10.10 + Brew installato PHP-FPM + MySQL + NGINX.
Passi che ho seguito per l'installazione:

    .
  • mkdir /path/to/magento2 && cd /path/to/magento2
  • git clone git@github.com:magento/magento2.git .
  • composer install
  • cd setup
  • composer install
  • php -f index.php install --base_url=http://magento2alpha.dev/ --backend_frontname=admin --db_host=localhost --db_name=magento2alpha --db_user=root --db_pass=root --admin_firstname=Raj --admin_lastname=KB --admin_email=magepsycho@gmail.com --admin_username=admin --admin_password=pass123 --language=en_US --currency=USD --timezone=America/Chicago

    Finora tutto ha funzionato alla grande. Ma quando carichi il frontend: http://magento2alpha.dev/ Sta mostrando solo un testo semplice (cioè CSS / immagini / JS mancante).
    Guarda la fonte ti dà il percorso come http : //magento2alpha.dev/pub/static/frontend/magento/blank/en_US/ [CSS / Immagini] / [CSS / immagini file] che ha portato alla pagina 404 Il mio file Nginx Conf sembra:

    server {
        listen 80;
        server_name magento2alpha.dev;
        root /Users/Raj/Sites/magento/magento2alpha;
    
        location /setup {
            try_files $uri $uri/ @setuphandler;
        }
    
        # Rewrite Setup's Internal Requests
        location @setuphandler {
            rewrite /setup /magento/magento2alpha/setup/index.php;
        }
    
        location / {
            index index.php index.html;
            try_files $uri $uri/ @handler;
        }
    
         # Rewrite Internal Requests
         location @handler {
            rewrite / /magento/magento2alpha/index.php;
         }
    
         # Rewrite magento2 static files
         #location /pub/static {
         #   rewrite ^/pub/static/(.*)$ /magento/magento2alpha/pub/static.php?resource=$1? last;
         #}
    
         location /pub/static {
              try_files $uri $uri/ @static;
         }
    
         location @static {
               rewrite ^/pub/static/(.*)$ /magento/magento2alpha/pub/static.php?resource=$1? last;
         }
    
         #location ~ .php/ {
         #    rewrite ^(.*.php)/ $1 last;
         #}
    
        location ~ \.php$ { ## Execute PHP scripts
            try_files $uri =404;
            expires        off;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_read_timeout 900s;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
    
            ## Magento 2 Developer mode
            fastcgi_param MAGE_MODE "developer";
        }
    }
    
    .

    Immagino che il problema sia nella riscrittura dei file statici. Ma questo è quello che ho seguito dal GitHub che non funziona. C'è qualche soluzione alternativa?

È stato utile?

Soluzione 2

Infine, devo modificare il mio file Nginx Conf per farlo funzionare come:
(Ref: https://github.com/magento/magento2/issues/802 )

server {
    listen 80;
    server_name magento2alpha.dev;
    root /Users/Raj/Sites/magento/magento2alpha;

    location /setup {
        try_files $uri $uri/ @setuphandler;
    }

    # Rewrite Setup's Internal Requests
    location @setuphandler {
        rewrite /setup /setup/index.php;
    }

    location / {
        index index.php index.html;
        try_files $uri $uri/ @handler;
    }

     # Rewrite Internal Requests
     location @handler {
        rewrite / /index.php;
     }

     location /pub/static {
          try_files $uri $uri/ @static;
     }

     location @static {
           rewrite ^/pub/static/(.*)$ /pub/static.php?resource=$1? last;
     }

     location ~ \.php$ { ## Execute PHP scripts
        try_files $uri =404;
        expires        off;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_read_timeout 900s;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;

        ## Magento 2 Developer mode
        fastcgi_param MAGE_MODE "developer";
        fastcgi_param  PHP_FLAG  "session.auto_start=off \n suhosin.session.cryptua=off";
        fastcgi_param  PHP_VALUE "memory_limit=256M \n max_execution_time=18000";
     }
}
.

Una cosa che ho notato è: se si crea una configurazione specifica dell'ospite virtuale in conf.d di Nginx è più risorsa costosa e più lenta rispetto alla conservazione della sites-enabled Dir.
. [modifica]
Scusa il mio male, XDebug stava causando la lentezza non il nginx conf.

Altri suggerimenti

Qualsiasi file richiesto all'interno di /pub/static che non esiste attualmente deve essere indirizzato attraverso Magento.Questo è attualmente fatto tramite /pub/static.php.

Puoi vedere questa riscrittura in /pub/static/.htaccess

RewriteEngine On
# Remove signature of the static files that is used to overcome the browser cache
RewriteRule ^version.+?/(.+)$ $1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* ../static.php?resource=$0 [L]
.

Guardando la tua configurazione Nginx hai commentato:

 # Rewrite magento2 static files
 #location /pub/static {
 #   rewrite ^/pub/static/(.*)$ /magento/magento2alpha/pub/static.php?resource=$1? last;
 #}
.

Presumibilmente facendo tali linee eseguibili risolveranno il problema, non ho familiarità con la configurazione Nginx ma qualcosa come questo potrebbe funziona anche:

location / {
    if (!-e $request_filename){ 
        rewrite ^(.*)$ /../static.php?resource=$0 last;
    }
}
.

Tratto da: https://magento.stackexchange.com/A/64808/3326 Quando non è in modalità di produzione Magento 2 cercherà di creare simboli simbolici per alcune risorse statiche.Puoi cambiare quel comportamento facendo il seguente.

Apri app/etc/di.xml e trova la sezione virtualType name="developerMaterialization".In quella sezione troverai un elemento name="view_preprocessed" che deve essere modificato o cancellato.Puoi modificarlo modificando il contenuto da Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink a Magento\Framework\App\View\Asset\MaterializationStrategy\Copy

Elimina i file in pub/static per sbarazzarsi di eventuali symlink esistenti.Si consiglia di fare attenzione a non eliminare il file .htaccess.

Questo dovrebbe risolvere il tuo errore con il simbolo.

Questa è la migliore risposta finora

.

Puoi modificarlo modificando il contenuto da Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink a. Magento\Framework\App\View\Asset\MaterializationStrategy\Copy

Ho avuto un problema simile dopo aver eseguito l'installazione di Magento 2 e ha scoperto che l'installazione non è riuscita a distribuire effettivamente i file statici.Ho ricevuto 404 per molti file di amministrazione, incluso Bootstrap, ecc. Per riparare ho eseguito un comando dalla root del sito per forzare la distribuzione del file statico:

php bin/magento setup:static-content:deploy -f
.

Ciò regnerà le risorse statiche per temi frontend e back -nd adminhtml.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top