【问题标题】:Successfully installed magento2 but the admin page throwing not found error成功安装 magento2 但管理页面抛出未找到错误
【发布时间】:2017-11-25 11:30:03
【问题描述】:

我为 magento2 创建了一个 docker 容器并成功创建了该容器。

在 CLI 中按照以下步骤成功安装了 magento2:

 1. ./magento setup:config:set --db-host=172.17.0.3  --db-name=mydb --db-user=admin --db-password=password 

来自另一个链接的 mysql 容器的数据库详细信息

 2. ./magento setup:install --admin-user='new-admin' --admin-password='!admin123!' --admin-email='info@domain.com' --admin-firstn
ame='Jon' --admin-lastname='Doe' --use-rewrites=1

最初我错过了 --use-rewrites 但添加了比

这会成功安装 magento2 并显示成功消息。与在浏览器中打开页面相比,我遇到了以下错误,我通过更改权限修复了该错误。

Warning: file_put_contents(/usr/html/var/cache//mage-tags/mage---196_CONFIG): failed to open stream: Permission denied in /usr/html/vendor/colinmollenhour/cache-backend-file/File.php on line 663

现在,当我打开管理员网址时,链接会自动更改并出现错误消息。

这是来自docker logs containername.的错误日志

nginx: [emerg] "location" 指令在 /etc/nginx/sites-enabled/magento.conf:191 中不允许使用

所以肯定是nginx设置错误 /etc/nginx/sites-enabled/magento.conf

upstream fastcgi_backend {
   server   unix:/run/php7-fpm.sock;
}

server {
        listen 80;
        server_name localhost;
        set $MAGE_ROOT /usr/html;

    root $MAGE_ROOT/pub;

    index index.php index.html;
    autoindex off;
    charset UTF-8;
    error_page 404 403 = /errors/404.php;
    #add_header "X-UA-Compatible" "IE=Edge";

    # PHP entry point for setup application
    location ~* ^/setup($|/) {
        root $MAGE_ROOT;

        location ~ ^/setup/index.php {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;

        fastcgi_pass   fastcgi_backend;

        fastcgi_param  PHP_FLAG  "session.auto_start=off \n suhosin.session.cryptua=off";
        fastcgi_param  PHP_VALUE "memory_limit=756M \n max_execution_time=600";
        fastcgi_read_timeout 600s;
        fastcgi_connect_timeout 600s;

        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
        }

        location ~ ^/setup/(?!pub/). {
        deny all;
        }

        location ~ ^/setup/pub/ {
        add_header X-Frame-Options "SAMEORIGIN";
        }
    }

    # PHP entry point for update application
    location ~* ^/update($|/) {
        root $MAGE_ROOT;

        location ~ ^/update/index.php {
        fastcgi_split_path_info ^(/update/index.php)(/.+)$;
        fastcgi_pass   fastcgi_backend;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  PATH_INFO        $fastcgi_path_info;
        include        fastcgi_params;
        }

        # Deny everything but index.php
        location ~ ^/update/(?!pub/). {
        deny all;
        }

        location ~ ^/update/pub/ {
        add_header X-Frame-Options "SAMEORIGIN";
        }
    }

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location /pub/ {
        location ~ ^/pub/media/(downloadable|customer|import|theme_customization/.*\.xml) {
        deny all;
        }
        alias $MAGE_ROOT/pub/;
        add_header X-Frame-Options "SAMEORIGIN";
    }

    location /static/ {
        # Uncomment the following line in production mode
        # expires max;

        # Remove signature of the static files that is used to overcome the browser cache
        location ~ ^/static/version {
        rewrite ^/static/(version\d*/)?(.*)$ /static/$2 last;
        }

        location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
        add_header Cache-Control "public";
        add_header X-Frame-Options "SAMEORIGIN";
        expires +1y;

        if (!-f $request_filename) {
            rewrite ^/static/?(.*)$ /static.php?resource=$1 last;
        }
        }
        location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
        add_header Cache-Control "no-store";
        add_header X-Frame-Options "SAMEORIGIN";
        expires    off;

        if (!-f $request_filename) {
           rewrite ^/static/?(.*)$ /static.php?resource=$1 last;
        }
        }
        if (!-f $request_filename) {
        rewrite ^/static/?(.*)$ /static.php?resource=$1 last;
        }
        add_header X-Frame-Options "SAMEORIGIN";
    }

    location /media/ {
        try_files $uri $uri/ /get.php$is_args$args;

        location ~ ^/media/theme_customization/.*\.xml {
        deny all;
        }

        location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
        add_header Cache-Control "public";
        add_header X-Frame-Options "SAMEORIGIN";
        expires +1y;
        try_files $uri $uri/ /get.php$is_args$args;
        }
        location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
        add_header Cache-Control "no-store";
        add_header X-Frame-Options "SAMEORIGIN";
        expires    off;
        try_files $uri $uri/ /get.php$is_args$args;
        }
        add_header X-Frame-Options "SAMEORIGIN";
    }

    location /media/customer/ {
        deny all;
    }

    location /media/downloadable/ {
        deny all;
    }

    location /media/import/ {
        deny all;
    }

    # PHP entry point for main application
    location ~ (index|get|static|report|404|503|health_check)\.php$ {
        try_files $uri =404;
        fastcgi_pass   fastcgi_backend;
        fastcgi_buffers 1024 4k;

        fastcgi_param  PHP_FLAG  "session.auto_start=off \n suhosin.session.cryptua=off";
        fastcgi_param  PHP_VALUE "memory_limit=756M \n max_execution_time=18000";
        fastcgi_read_timeout 600s;
        fastcgi_connect_timeout 600s;

        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    gzip on;
    gzip_disable "msie6";

    gzip_comp_level 6;
    gzip_min_length 1100;
    gzip_buffers 16 8k;
    gzip_proxied any;
    gzip_types
        text/plain
        text/css
        text/js
        text/xml
        text/javascript
        application/javascript
        application/x-javascript
        application/json
        application/xml
        application/xml+rss
        image/svg+xml;
    gzip_vary on;

    # Banned locations (only reached if the earlier PHP entry point regexes don't match)

        location ~* (\.php$|\.htaccess$|\.git) {
        deny all;
    }  

}

这是 /etc/nginx/nginx.conf

user  docker;
worker_processes  4;
pid /run/nginx.pid;
daemon off;

events {
    worker_connections 768;
    use epoll;
        multi_accept on;
}

http {
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
        keepalive_requests 10;
    keepalive_timeout 300;
    types_hash_max_size 2048;

    client_body_buffer_size 128K;
    client_header_buffer_size 1k;
    client_body_temp_path /tmp 1 2;
    client_max_body_size 10m;
    large_client_header_buffers 4 4k;
    output_buffers               1 32k;
    postpone_output              1460;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    gzip on;
    gzip_disable "msie6";
        #therefore there should be default named config not default.conf
        #so made a change

    include /etc/nginx/sites-enabled/*.conf;

主页面正在运行

【问题讨论】:

    标签: docker dockerfile magento2


    【解决方案1】:

    为 /var/html/{magento_folder/filegiving issue} 授予文件权限

    sudo chown -R www-data:www-data /var/html/{magento_folder/file 给出问题}

    【讨论】:

    • 我在 alpine OS 上运行它,它不会有 www-data,但我创建了一个名为 docker 的用户,并且所有权已设置为它。
    • 然后是 megento 配置问题,有些地方将主机名作为基本 url,检查 db 表“core_config_data”的列值
    • 我已经找到了问题所在。这完全是由于权限问题。
    猜你喜欢
    • 1970-01-01
    • 2015-02-23
    • 1970-01-01
    • 2018-08-18
    • 1970-01-01
    • 2017-10-22
    • 2015-02-23
    • 1970-01-01
    • 2018-08-28
    相关资源
    最近更新 更多