Frage

Ich versuche, Magento2 (0.1.0-alpha107) auf meinem lokalen Host mit OSX 10.10 zu installieren + brew installiert php-fpm + mysql + nginx.
Schritte, die ich zur Installation befolgt habe:

  • 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

Bisher hat alles super funktioniert.Aber wenn Sie das Frontend laden: http://magento2alpha.dev/Es wird nur einfacher Text angezeigt (d. h.css/images/js fehlen).
View source gibt Ihnen den Pfad wie http://magento2alpha.dev/pub/static/frontend/Magento/blank/en_US/[css/images]/[css/images Datei], die zur 404-Seite führte
Meine Nginx-Conf-Datei sieht so aus:

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";
    }
}

Ich vermute, dass das Problem im Umschreiben der statischen Dateien liegt.Aber das ist es, was ich dem Github entnommen habe, der nicht funktioniert.Gibt es eine Problemumgehung?

War es hilfreich?

Lösung 2

Schließlich muss ich meine Nginx-Conf-Datei ändern, damit sie wie folgt funktioniert:
(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";
     }
}

Eine Sache, die mir aufgefallen ist, ist:Wenn Sie eine virtuelle Host-spezifische Konfiguration in Nginx erstellen conf.d ist ressourcenintensiver und langsamer als das Einhalten sites-enabled dir.
[Bearbeiten]
Tut mir leid, xdebug hat die Langsamkeit verursacht, nicht die Nginx-Konfiguration.

Andere Tipps

Jede darin angeforderte Datei /pub/static das derzeit nicht existiert, muss über Magento weitergeleitet werden.Dies geschieht derzeit durch /pub/static.php.

Sie können diese Neufassung in sehen /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]

Wenn Sie sich Ihre Nginx-Konfiguration ansehen, haben Sie Folgendes auskommentiert:

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

Vermutlich würde es das Problem lösen, diese Zeilen ausführbar zu machen. Ich bin mit der Nginx-Konfiguration nicht sehr vertraut, aber so etwas in der Art könnte auch Arbeit:

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

Genommen von: https://magento.stackexchange.com/a/64808/3326

Wenn Magento 2 nicht im Produktionsmodus ist, versucht es, Symlinks für einige statische Ressourcen zu erstellen.Sie können dieses Verhalten ändern, indem Sie Folgendes tun.

Aufmachen app/etc/di.xml und finde die virtualType name="developerMaterialization" Abschnitt.In diesem Abschnitt finden Sie einen Artikel name="view_preprocessed" das geändert oder gelöscht werden muss.Sie können es ändern, indem Sie den Inhalt ändern Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink Zu Magento\Framework\App\View\Asset\MaterializationStrategy\Copy

Löschen Sie die Dateien darunter pub/static um alle vorhandenen Symlinks zu entfernen.Möglicherweise möchten Sie darauf achten, die Datei nicht zu löschen .htaccess Datei.

Dies sollte Ihren Fehler mit dem Symlink beheben.

Das ist bisher die beste Antwort

Sie können es ändern, indem Sie den Inhalt ändern Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink Zu Magento\Framework\App\View\Asset\MaterializationStrategy\Copy

Ich hatte ein ähnliches Problem, nachdem ich die Magento 2 installiert habe, und stellte fest, dass die Installation die statischen Dateien tatsächlich nicht bereitstellt.Ich habe 404 für viele Admin-Dateien erhalten, einschließlich Bootstrap usw., um ein Befehl von der Site-Root zu beheben, um die statische Dateibereitstellung zu erzwingen: generasacodicetagpre.

Dies wird statische Vermögenswerte für Frontend-Themen und Adminhtml-Backend regeln.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top