Помогите настроить Centos 6 32bit под связку php-fpm nginx mysql + magento2

typus

Мой дом здесь!
Регистрация
25 Июл 2007
Сообщения
895
Реакции
241
Приветствую, получил по случаю vps для тестов, выбрать ос не могу, там уже centos 6 установлена.
Если ставить lemp по дефолту,то встают версии, не совместимые с magento2.
Ну вот конечно как бы информация есть, даже официально на Для просмотра ссылки Войди или Зарегистрируйся,
вроде все встает, php70-fpm без проблем, а вот Для просмотра ссылки Войди или Зарегистрируйся- ставится без ошибок, но не запускается, при чем, что 5.6 что 5.7, одинаково -
service mysqld start
MySQL Daemon failed to start.
С Centos вообще первый раз, на убунту и дебиан не раз все это ставил и приводил в более менее рабочее состояние, а тут что то встрял...
Буду признателен за помощь.
 
Начать с чтения логов. Ну и юзать вменяемые репозитории, например
Код:
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
yum install http://rpms.remirepo.net/enterprise/remi-release-6.rpm
yum install yum-utils
yum-config-manager --enable remi-php71
yum install php php-memcached memcahced php-imagick php-opcache и т.д.
Ну и mysql (или mariadb) соответственно. Ошибки и их решение ищем в логах.
 
Последнее редактирование:
нашел в логах mysqld следующие ошибки
Код:
2018-02-19 10:48:30 10358 [ERROR] InnoDB: auto-extending data file ./ibdata1 is of a different size 640 pages (rounded down to MB) than specified in the .cnf file: initial 768 pages, max 0 (relevant if non-zero) pages!
2018-02-19 10:48:30 10358 [ERROR] InnoDB: Could not open or create the system tablespace. If you tried to add new data files to the system tablespace, and it failed here, you should now edit innodb_data_file_path in my.cnf back to what it was, and remove the new ibdata files InnoDB created in this failed attempt. InnoDB only wrote those files full of zeros, but did not yet use them in any way. But be careful: do not remove old data files which contain your precious data!
2018-02-19 10:48:30 10358 [ERROR] Plugin 'InnoDB' init function returned error.
2018-02-19 10:48:30 10358 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2018-02-19 10:48:30 10358 [ERROR] Unknown/unsupported storage engine: InnoDB
2018-02-19 10:48:30 10358 [ERROR] Aborting
Первая запись в гугле предлагает огромное кол-во решений, мне помогло следующеe:
Put this in your my.cnf under [mysqld]:
innodb_data_file_path = ibdata1:10M:autoextend
не очень понимаю пока, насколько решение корректно, но работает. Сегодня попробую установить magento, по результату отпишусь.
 
в общем, не знаю, возможно, из-за того, что впервые с этой centos, но интуитивно она определенно непонятнее и сложнее ubuntu или debian. Как по мне.
Магента не ставится, хоть убейся. Сегодня выходной, убил его считай весь целиком на это дело, как бы подумалось, что некоторые манипуляции с новой неизведанной ОС будут полезны. В конце дня не выдержал, сбросил ос на ноль снапшот, итак:
1.Имеется девственно чистая centos 6x32 -2.6.32-642.13.1.el6.i686 #1 SMP Wed Jan 11 20:21:04 UTC 2017 i686 i686 i386 GNU/Linux
2. Основная задача - настроить php-fpm nginx mysql под magento 2.1 - это важно, т.к. под 2.1 не пойдет php-7.1, только 7.0, конкретно текущая вроде бы 7.0.27 подойдет. Поэтому yum-config-manager --enable remi-php71 - не для моего случая.
3. mysql тоже подойдет не всякая версия, но 5.6 или 5.7 нормально.
Может кто наведет на вменяемую howto - сколько сегодня пересмотрел - труба, на centos 7 в основном, на 6 - слезы и то все не работает как надо.
Или может модераторы переместят тему в раздел по магенто2, если там место ей больше там чем тут...
 
но интуитивно она определенно непонятнее и сложнее ubuntu или debian
Ничуть. По факту, меняется только расположение конфигов и пакетный менеджер. А софт весь один и тот же, и ошибки типичны.

Поэтому yum-config-manager --enable remi-php71 - не для моего случая.
Поэтому делаем yum-config-manager --enable remi-php70. Это сложно? Да нет, это в официальном репозитории, тут не надо никаких манов, кроме знания английского, хотя бы на уровне чтения.

и то все не работает как надо.
Все работает как надо и работает годами. Если не хватает знаний, то нечего на зеркало пенять - ставим vestacp, апргрейдим php до версии 7.0 по способу выше, создаем пользовательскую учетку и заливаем сайт. Работы - на 15 минут.
 
Поэтому делаем yum-config-manager --enable remi-php70.
Думаете, я не додумался до этого первым делом? Конечный результат такой, что я целый день танцую вокруг этого костра, все в конце концов ставится, но магента так и не завелась. Конечно, где то ошибся.
Если не хватает знаний, то нечего на зеркало пенять
я не пеняю не на что и ни на кого. Я высказал свое мнение - для меня лично эта ос и ubuntu как земля и небо.
Большой необходимости вникать в нее нет никакого смысла, все проекты на deb системах.
Так что будет время, посмотрю, может что и соберу, не будет - да и пофиг. Я понял что centos не мое.
Спасибо за помощь, и просто забудьте.
 
Последнее редактирование:
приветствую, кто то может подсказать, как поставить Varnish, если возможно, 4 версию на данный Centos 6?
По умолчанию тянется версия 2 c epel, по официальному мануалу создаю репо, выключаю все репы кроме вновь созданной, и все равно тянется 2 с epel.
Если же в epel.repo прописываю жестко enabled=0, то yum install varnish - No package varnish available...
 
Ok, установил таки varnish 4.1 на centos, теперь новая проблема - не принимает конфиг, - вот этот конкретно конфиг генерирует magento 2
Код:
vcl 4.0;

import std;
# The minimal Varnish version is 4.0
# For SSL offloading, pass the following header in your proxy server or load balancer: 'X-Forwarded-Proto: https'

backend default {
    .host = "127.0.0.1";
    .port = "80";
}

acl purge {
    "localhost";
}

sub vcl_recv {
    if (req.method == "PURGE") {
        if (client.ip !~ purge) {
            return (synth(405, "Method not allowed"));
        }
        if (!req.http.X-Magento-Tags-Pattern) {
            return (synth(400, "X-Magento-Tags-Pattern header required"));
        }
        ban("obj.http.X-Magento-Tags ~ " + req.http.X-Magento-Tags-Pattern);
        return (synth(200, "Purged"));
    }

    if (req.method != "GET" &&
        req.method != "HEAD" &&
        req.method != "PUT" &&
        req.method != "POST" &&
        req.method != "TRACE" &&
        req.method != "OPTIONS" &&
        req.method != "DELETE") {
          /* Non-RFC2616 or CONNECT which is weird. */
          return (pipe);
    }

    # We only deal with GET and HEAD by default
    if (req.method != "GET" && req.method != "HEAD") {
        return (pass);
    }

    # Bypass shopping cart, checkout and search requests
    if (req.url ~ "/checkout" || req.url ~ "/catalogsearch") {
        return (pass);
    }

    # normalize url in case of leading HTTP scheme and domain
    set req.url = regsub(req.url, "^http[s]?://", "");

    # collect all cookies
    std.collect(req.http.Cookie);

    # Compression filter. See https://www.varnish-cache.org/trac/wiki/FAQ/Compression
    if (req.http.Accept-Encoding) {
        if (req.url ~ "\.(jpg|jpeg|png|gif|gz|tgz|bz2|tbz|mp3|ogg|swf|flv)$") {
            # No point in compressing these
            unset req.http.Accept-Encoding;
        } elsif (req.http.Accept-Encoding ~ "gzip") {
            set req.http.Accept-Encoding = "gzip";
        } elsif (req.http.Accept-Encoding ~ "deflate" && req.http.user-agent !~ "MSIE") {
            set req.http.Accept-Encoding = "deflate";
        } else {
            # unkown algorithm
            unset req.http.Accept-Encoding;
        }
    }

    # Remove Google gclid parameters to minimize the cache objects
    set req.url = regsuball(req.url,"\?gclid=[^&]+$",""); # strips when QS = "?gclid=AAA"
    set req.url = regsuball(req.url,"\?gclid=[^&]+&","?"); # strips when QS = "?gclid=AAA&foo=bar"
    set req.url = regsuball(req.url,"&gclid=[^&]+",""); # strips when QS = "?foo=bar&gclid=AAA" or QS = "?foo=bar&gclid=AAA&bar=baz"

    # static files are always cacheable. remove SSL flag and cookie
        if (req.url ~ "^/(pub/)?(media|static)/.*\.(ico|css|js|jpg|jpeg|png|gif|tiff|bmp|mp3|ogg|svg|swf|woff|woff2|eot|ttf|otf)$") {
        unset req.http.Https;
        unset req.http.X-Forwarded-Proto;
        unset req.http.Cookie;
    }

    return (hash);
}

sub vcl_hash {
    if (req.http.cookie ~ "X-Magento-Vary=") {
        hash_data(regsub(req.http.cookie, "^.*?X-Magento-Vary=([^;]+);*.*$", "\1"));
    }

    # For multi site configurations to not cache each other's content
    if (req.http.host) {
        hash_data(req.http.host);
    } else {
        hash_data(server.ip);
    }

    # To make sure http users don't see ssl warning
    if (req.http.X-Forwarded-Proto) {
        hash_data(req.http.X-Forwarded-Proto);
    }
   
}

sub vcl_backend_response {
    if (beresp.http.content-type ~ "text") {
        set beresp.do_esi = true;
    }

    if (bereq.url ~ "\.js$" || beresp.http.content-type ~ "text") {
        set beresp.do_gzip = true;
    }

    # cache only successfully responses and 404s
    if (beresp.status != 200 && beresp.status != 404) {
        set beresp.ttl = 0s;
        set beresp.uncacheable = true;
        return (deliver);
    } elsif (beresp.http.Cache-Control ~ "private") {
        set beresp.uncacheable = true;
        set beresp.ttl = 86400s;
        return (deliver);
    }

    if (beresp.http.X-Magento-Debug) {
        set beresp.http.X-Magento-Cache-Control = beresp.http.Cache-Control;
    }

    # validate if we need to cache it and prevent from setting cookie
    # images, css and js are cacheable by default so we have to remove cookie also
    if (beresp.ttl > 0s && (bereq.method == "GET" || bereq.method == "HEAD")) {
        unset beresp.http.set-cookie;
        if (bereq.url !~ "\.(ico|css|js|jpg|jpeg|png|gif|tiff|bmp|gz|tgz|bz2|tbz|mp3|ogg|svg|swf|woff|woff2|eot|ttf|otf)(\?|$)") {
            set beresp.http.Pragma = "no-cache";
            set beresp.http.Expires = "-1";
            set beresp.http.Cache-Control = "no-store, no-cache, must-revalidate, max-age=0";
            set beresp.grace = 1m;
        }
    }

   # If page is not cacheable then bypass varnish for 2 minutes as Hit-For-Pass
   if (beresp.ttl <= 0s ||
        beresp.http.Surrogate-control ~ "no-store" ||
        (!beresp.http.Surrogate-Control && beresp.http.Vary == "*")) {
        # Mark as Hit-For-Pass for the next 2 minutes
        set beresp.ttl = 120s;
        set beresp.uncacheable = true;
    }
    return (deliver);
}

sub vcl_deliver {
    if (resp.http.X-Magento-Debug) {
        if (resp.http.x-varnish ~ " ") {
            set resp.http.X-Magento-Cache-Debug = "HIT";
        } else {
            set resp.http.X-Magento-Cache-Debug = "MISS";
        }
    } else {
        unset resp.http.Age;
    }

    unset resp.http.X-Magento-Debug;
    unset resp.http.X-Magento-Tags;
    unset resp.http.X-Powered-By;
    unset resp.http.Server;
    unset resp.http.X-Varnish;
    unset resp.http.Via;
    unset resp.http.Link;
}


Заводится только со стандартным конфигом магенто, т.е. в котором только
Код:
backend default {
    .host = "127.0.0.1";
    .port = "80";
}

сервис логирования varnish включен, но папка логов его пуста.
В чем может быть проблема?
 
Назад
Сверху