Question

J'essaie d'installer Magento2 (0.1.0-alpha107) sur mon hôte local alimenté par OSX 10.10 + Brew installé php-fpm + mysql + nginx.
Étapes que j'ai suivies pour l'installation :

  • 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

Jusqu'à présent, tout a très bien fonctionné.Mais lorsque vous chargez le frontend : http://magento2alpha.dev/il affiche uniquement du texte brut (c'est-à-direcss/images/js sont manquants).
Afficher la source vous donne le chemin comme http://magento2alpha.dev/pub/static/frontend/Magento/blank/en_US/[css/images]/[css/images fichier] qui a conduit à la page 404
Mon fichier de configuration nginx ressemble à :

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

Je suppose que le problème réside dans la réécriture des fichiers statiques.Mais c'est ce que j'ai suivi depuis le github qui ne fonctionne pas.Y a-t-il une solution de contournement?

Était-ce utile?

La solution 2

Enfin, je dois modifier mon fichier Conf NGinx pour le faire fonctionner comme:
(Réf: 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";
     }
}

Une chose que j'ai remarquée est la suivante: Si vous créez une configuration spécifique à l'hôte virtuelle dans le conf.d de Nginx, c'est plus de ressources chère et plus lente que la conservation de sites-enabled Dir. de
[modifier]
Désolé mon mauvais, Xdebug causait la lenteur non pas le Nginx Conf.

Autres conseils

Tout fichier demandé dans /pub/static qui n'existe pas actuellement doit être acheminé via Magento.Cela se fait actuellement via /pub/static.php.

Vous pouvez voir cette réécriture dans /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]

En regardant votre configuration nginx, vous avez ceci commenté :

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

Vraisemblablement, rendre ces lignes exécutables résoudrait le problème, je ne suis pas très familier avec la configuration de nginx mais quelque chose comme ça pourrait ça marche aussi :

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

Pris à partir de: https://magento.stackexchange.com/a/64808/3326

Lorsqu'il n'est pas en mode production, Magento 2 essaiera de créer des liens symboliques pour certaines ressources statiques.Vous pouvez modifier ce comportement en procédant comme suit.

S'ouvrir app/etc/di.xml et trouver le virtualType name="developerMaterialization" section.Dans cette section, vous trouverez un élément name="view_preprocessed" qui doit être modifié ou supprimé.Vous pouvez le modifier en changeant le contenu de Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink à Magento\Framework\App\View\Asset\MaterializationStrategy\Copy

Supprimez les fichiers sous pub/static pour se débarrasser de tous les liens symboliques existants.Vous voudrez peut-être faire attention à ne pas supprimer le .htaccess déposer.

Cela devrait résoudre votre erreur avec le lien symbolique.

c'est la meilleure réponse jusqu'à présent

Vous pouvez le modifier en changeant le contenu de Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink à Magento\Framework\App\View\Asset\MaterializationStrategy\Copy

J'ai eu un problème similaire après avoir exécuté l'installation de Magento 2 et a constaté que l'installation n'a pas réussi à déployer les fichiers statiques.J'ai reçu 404 pour de nombreux fichiers d'administration, y compris Bootstrap, etc. afin de corriger une commande de la racine du site pour forcer le déploiement du fichier statique:

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

Cela regrener les actifs statiques pour les thèmes de frontage et le backend AdminHTML.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top