Concrete 5.6.1.2 переезд с Apache на Nginx

Любая помощь по установке/настройке/модификации concrete5

Concrete 5.6.1.2 переезд с Apache на Nginx

Сообщение MonoStas » 05 авг 2013, 19:07 ,  »  Сообщение:#1

Concrete 5.6.1.2 переезд с Apache на Nginx. Надеюсь кто-нибудь сталкивался. На всякий случай опишу как можно больше параметров.
Характеристики: машинка 512MB ram, 1Ghz, 20GB SSD
Установлен: CentOS, nginx, php-fpm, mysqld и некоторые модули
тут можно посмотреть phpinfo();
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку


как переезжал: скопировал файлы, перенес базу данных, через database migration tool переделал имена в базе данных из case insansative в case sensetive
сайт лежит тут:
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку

Если конфиг Concrete5 для подключения к базе данных неверный, то мы видим привычное Unable to connect to database (сейчас в таком состоянии), если я меняю на верные настройки для mysql - ловлю белый экран и перекидывает на
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку
.
В логах nginx по этому поводу ничего не пишет, лог php - аналогически. Какие есть мысли, господа? буду благодарен за любые намеки. В конфигах nginx еще не делал правила реврайта. Без них главную страницу то точно должен отобразить. Если не полностью описал картину - скажите что еще скинуть. Могу выложить конфиги nginx'a. Спасибо
Пользую: CentOS 6.5, Ubuntu, Nginx, PHP, MySQL, Python, Sublime Text 3, CSS3, HTML5, jQuery...... Concrete5 (-;
Аватара пользователя
MonoStas
 
Сообщения: 80
Зарегистрирован: 11 окт 2012, 19:21
Откуда: Москва

Re: Concrete 5.6.1.2 переезд с Apache на Nginx

Сообщение cmsservice » 05 авг 2013, 22:40 ,  »  Сообщение:#2

Попробуйте включить режим максимального вывода ошибок в PHP, может что и покажет. И да, отключите пока SEF URL. И Кстати, должен в логин пускать в любом случае, даже если дело в SEF
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

Re: Concrete 5.6.1.2 переезд с Apache на Nginx

Сообщение cmsservice » 06 авг 2013, 10:27 ,  »  Сообщение:#3

Вот здесь есть немного информации по настройке связки C5 + nginx:
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

Re: Concrete 5.6.1.2 переезд с Apache на Nginx

Сообщение MonoStas » 06 авг 2013, 22:43 ,  »  Сообщение:#4

Хах, вы думаете я не видел этих ссылок? Таких мануалов (включая этот) пару десятков перелопатил вдоль и поперек. И ваши идеи опробовал в первую очередь. Не стал бы писать тогда. Ибо мистика. Отключал SEF, пару раз перезаливал базы данных. И еще множество танцев с известным девайсом.

Чего только не пробовал. Уже начал думать самое немыслимое, что mySQL WorkBench не так сработал, да всякое уже рассматривать начал. По nginx.conf и php.ini лекции уже могу читать. Если вы заметили за помощью я обращаюсь не часто. Тут реально мне казалось некая мистика наблюдается. Подумал уже о баге в системе. Но меня не останавливали мои скверные мысли, т.к. буквально месяца полтора назад я перевел на nginx один студийный сайтик сделанный на Concrete5 и работавший на апаче и мысли о дыре откинул.

А сейчас все дружно посмеемся надо мной. Добавил "http://"
Код: Выделить всё
 define('BASE_URL', 'http://37.139.14.127');
и все заработало. Как все у них просто, а я лошара.
Одно мне скажите,почему без http:// и с неправильными настройками mysql Concrete выдавал, что настройки базы некорректные (следовательно он подхватил адрес ip), а с правильными я ловил белый экран и ни единой ошибки? - ни в php.log, ни в nginx.log, ни на экран. О да я настроил вывод ошибок в лог, на экран, максимальный вывод ошибок php и т.д. небольшой опыт у меня есть все-таки. Я искал ошибку даже близко не там, где нужно было. Но круто, что все закончилось и теперь у меня наконец-то свой уютный качественно настроенный сервачок с CentOS. Ибо за время ковыряния я много чего подкрутил в нужную сторону.
happy end 8-)
Пользую: CentOS 6.5, Ubuntu, Nginx, PHP, MySQL, Python, Sublime Text 3, CSS3, HTML5, jQuery...... Concrete5 (-;
Аватара пользователя
MonoStas
 
Сообщения: 80
Зарегистрирован: 11 окт 2012, 19:21
Откуда: Москва

Re: Concrete 5.6.1.2 переезд с Apache на Nginx

Сообщение cmsservice » 07 авг 2013, 09:36 ,  »  Сообщение:#5

Мои поздравления, что еще можно сказать :)
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

Re: Concrete 5.6.1.2 переезд с Apache на Nginx

Сообщение MonoStas » 08 авг 2013, 11:10 ,  »  Сообщение:#6

Кстати, кому-нибудь может пригодится мой конфиг для nginx'a. Согласен, в инете их много, но там в основном наброски из которых все у меня не завелись. Рабочего варианта от и до я так и не нашел. Поэтому допиливал сам. Так что считайте, что эксклюзив. Идеи конечно я у них почерпнул. Работают реврайты, прям все четко. Рабочий вариант уже в сети по адресу
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку
(не сочтите за рекламу, мы тут все свои), только для наглядного примера ;) .

Config Nginx v1.4.2 WebServer for Concrete5 v5.6.1.2

Код: Выделить всё
server {
        listen  80;
   server_name   www.moremest.com;
#   access_log   /xxx/xxxxxxxx/nginx.logs/nginx.access.log; #расположение логов данного хоста
#   error_log   /xxx/xxxxxxxx/nginx.logs/nginx.error.log;
   root      /xxx/xxxxxxxx/hosts/moremest.com;

   if ($http_host != "www.moremest.com") {
           rewrite ^ http://www.moremest.com$request_uri permanent;
   }

   location / {
      index  index.html index.htm index.php;
      if (!-f $request_filename){
         set $rule_0 1$rule_0;
      }
      if (!-d $request_filename){
         set $rule_0 2$rule_0;
      }
      if ($rule_0 = "21"){
         rewrite ^/(.*)$ /index.php/$1 last;
      }
    }

     location ~ /\.ht {
                deny  all;
        }

         error_page  404   /404.html;
   location = /404.html {
      root   /usr/share/nginx/html;
   }
   
   error_page   500 502 503 504  /50x.html;
   location = /50x.html {
      root   /usr/share/nginx/html;
   }

   location ~ \.php($|/) {
                try_files $uri = 404;
                fastcgi_pass    127.0.0.1:9000;
                include    fastcgi_params;
                fastcgi_index    index.php;
                set $script $uri;
                set $path_info "";
                if ($uri ~ "^(.+\.php)(/.+)") {
                        set $script $1;
                        set $path_info $2;
                }
                fastcgi_param URI $uri;
                fastcgi_param PATH_INFO $path_info;
                fastcgi_param SCRIPT_NAME $script;
                fastcgi_param SCRIPT_FILENAME $document_root$script;
       }
}
Пользую: CentOS 6.5, Ubuntu, Nginx, PHP, MySQL, Python, Sublime Text 3, CSS3, HTML5, jQuery...... Concrete5 (-;
Аватара пользователя
MonoStas
 
Сообщения: 80
Зарегистрирован: 11 окт 2012, 19:21
Откуда: Москва

Re: Concrete 5.6.1.2 переезд с Apache на Nginx

Сообщение cmsservice » 08 авг 2013, 11:23 ,  »  Сообщение:#7

Рекомендую написать статью, это будет всем полезно. Можно ее на хабре разместить, назвать как-нибудь: Связка Concrete5 + Nginx. Особенности конфигурации сервера
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

Re: Concrete 5.6.1.2 переезд с Apache на Nginx

Сообщение Count_Raven » 08 авг 2013, 22:56 ,  »  Сообщение:#8

MonoStas писал(а):Одно мне скажите,почему без
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку
.

Ну конкретно не скажу, но мне кажется это кроется в обработчике URL (у меня с ним пляски были когда с HTTPS боролся).
Там в одном PHP файле (который вызывается где-то на ранней стадии стартапа) есть парсинг BASE_URL и там он определяет дальнейшее поведение.
Там он как раз ищет HTTP/HTTPS и, возможно, ввиду отсутствия вообще обоих он принимает еще какое-то решение. В код лезти сейчас не хочется, имя файла не помню. Так, просто предположение.
Еще можно было попробовать в конфиге поставить REDIRECT_TO_BASE_URL в false. Тогда он внутренние ссылки по-другому формирует.

P.S. Про статью - поддерживаю =)
Country Amiant - Regno All Rianto
Аватара пользователя
Count_Raven
Супермодератор
 
Сообщения: 1156
Зарегистрирован: 06 окт 2010, 15:00
Откуда: Country Amiant

Re: Concrete 5.6.1.2 переезд с Apache на Nginx

Сообщение cmsservice » 28 фев 2014, 10:31 ,  »  Сообщение:#9

Обнаружилась добавочка (вдруг кто воспользуется). В любезно предоставленный MonoStas конфиг nginx в секцию, где задаются параметры fastcgi нужно добавить строчку:
fastcgi_read_timeout 600s;

иначе при установке С5 может тупо упасть с ошибкой. :)
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва


Вернуться в Помощь по concrete5

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

cron