ohmycto / synergy

Решение для создания российских интернет-магазинов, основанное на Spree.
GNU General Public License v3.0
93 stars 45 forks source link

В production полная засада #12

Closed Sashe closed 13 years ago

Sashe commented 13 years ago

Не получается нормально развернуть в heroku, Heroku logs

heroku logs 2011-07-19T07:04:12+00:00 heroku[rake.1]: State changed from crashed to complete 2011-07-19T07:05:09+00:00 heroku[rake.2]: State changed from created to starting 2011-07-19T07:05:13+00:00 app[rake.2]: Awaiting client 2011-07-19T07:05:13+00:00 app[rake.2]: Starting process with command rake db:seed db:sample 2011-07-19T07:05:14+00:00 heroku[rake.2]: State changed from starting to up 2011-07-19T07:07:37+00:00 app[web.1]: 2011-07-19T07:07:37+00:00 app[web.1]: 2011-07-19T07:07:37+00:00 app[web.1]: Started GET "/" for 81.30.54.182 at Tue Jul 19 00:06:52 -0700 2011 2011-07-19T07:07:37+00:00 app[web.1]: 2011-07-19T07:07:37+00:00 app[web.1]: ActionView::Template::Error (Permission denied - /app/public/stylesheets/.permissions_check.70345869240640.1.799427): 2011-07-19T07:07:37+00:00 app[web.1]: 7: <%= csrf_meta_tag %> 2011-07-19T07:07:37+00:00 app[web.1]: 8: 2011-07-19T07:07:37+00:00 app[web.1]: 9: <%= hook :inside_head do %> 2011-07-19T07:07:37+00:00 app[web.1]: 10: <%== stylesheet_tags %> 2011-07-19T07:07:37+00:00 app[web.1]: 11: <%= stylesheet_link_tag 'jquery.jgrowl' %> 2011-07-19T07:07:37+00:00 app[web.1]: 12: <%= javascript_include_tag 'jquery-1.4.2.min', 'jquery.validate.min.js', 'rails', 'application', 'jquery.jgrowl.min', 'jquery.tools.min.js', :cache => 'jquery-libs' %> 2011-07-19T07:07:37+00:00 app[web.1]: 13: <% end %> 2011-07-19T07:07:37+00:00 app[web.1]:
2011-07-19T07:07:37+00:00 app[web.1]: 2011-07-19T07:07:37+00:00 app[web.1]: 2011-07-19T07:07:58+00:00 app[web.1]: 2011-07-19T07:07:58+00:00 app[web.1]: 2011-07-19T07:07:58+00:00 app[web.1]: Started GET "/" for 81.30.54.182 at Tue Jul 19 00:07:58 -0700 2011 2011-07-19T07:07:59+00:00 app[web.1]: 2011-07-19T07:07:59+00:00 app[web.1]: ActionView::Template::Error (Permission denied - /app/public/stylesheets/.permissions_check.70345869240640.1.217519): 2011-07-19T07:07:59+00:00 app[web.1]: 7: <%= csrf_meta_tag %> 2011-07-19T07:07:59+00:00 app[web.1]: 8: 2011-07-19T07:07:59+00:00 app[web.1]: 9: <%= hook :inside_head do %> 2011-07-19T07:07:59+00:00 app[web.1]: 10: <%== stylesheet_tags %> 2011-07-19T07:07:59+00:00 app[web.1]: 11: <%= stylesheet_link_tag 'jquery.jgrowl' %> 2011-07-19T07:07:59+00:00 app[web.1]: 12: <%= javascript_include_tag 'jquery-1.4.2.min', 'jquery.validate.min.js', 'rails', 'application', 'jquery.jgrowl.min', 'jquery.tools.min.js', :cache => 'jquery-libs' %> 2011-07-19T07:07:59+00:00 app[web.1]: 13: <% end %> 2011-07-19T07:07:59+00:00 app[web.1]:
2011-07-19T07:07:59+00:00 app[web.1]: 2011-07-19T07:07:59+00:00 app[web.1]: 2011-07-19T07:13:02+00:00 heroku[rake.3]: State changed from created to starting 2011-07-19T07:13:06+00:00 app[rake.3]: Awaiting client 2011-07-19T07:13:06+00:00 app[rake.3]: Starting process with command rake db:seed db:sample 2011-07-19T07:13:06+00:00 heroku[rake.2]: Process exited 2011-07-19T07:13:07+00:00 heroku[rake.3]: State changed from starting to up 2011-07-19T07:13:07+00:00 heroku[rake.2]: State changed from up to crashed 2011-07-19T07:13:07+00:00 heroku[rake.2]: State changed from crashed to complete 2011-07-19T07:13:13+00:00 heroku[rake.3]: Process exited 2011-07-19T07:13:14+00:00 heroku[rake.3]: State changed from up to crashed 2011-07-19T07:13:14+00:00 heroku[rake.3]: State changed from crashed to complete 2011-07-19T07:13:55+00:00 heroku[rake.4]: State changed from created to starting 2011-07-19T07:13:59+00:00 app[rake.4]: Awaiting client 2011-07-19T07:14:00+00:00 app[rake.4]: Starting process with command rake pg:reset 2011-07-19T07:14:02+00:00 heroku[rake.4]: State changed from starting to up 2011-07-19T07:14:02+00:00 heroku[rake.4]: Process exited 2011-07-19T07:14:03+00:00 heroku[rake.4]: State changed from up to crashed 2011-07-19T07:14:03+00:00 heroku[rake.4]: State changed from crashed to complete 2011-07-19T07:15:54+00:00 app[web.1]: 2011-07-19T07:15:54+00:00 app[web.1]: 2011-07-19T07:15:54+00:00 app[web.1]: Started GET "/" for 81.30.54.182 at Tue Jul 19 00:15:54 -0700 2011 2011-07-19T07:15:54+00:00 app[web.1]: 2011-07-19T07:15:54+00:00 app[web.1]: ActionView::Template::Error (Permission denied - /app/public/stylesheets/.permissions_check.70345869240640.1.359062): 2011-07-19T07:15:54+00:00 app[web.1]: 7: <%= csrf_meta_tag %> 2011-07-19T07:15:54+00:00 app[web.1]: 8: 2011-07-19T07:15:54+00:00 app[web.1]: 9: <%= hook :inside_head do %> 2011-07-19T07:15:54+00:00 app[web.1]: 10: <%== stylesheet_tags %> 2011-07-19T07:15:54+00:00 app[web.1]: 11: <%= stylesheet_link_tag 'jquery.jgrowl' %> 2011-07-19T07:15:54+00:00 app[web.1]: 12: <%= javascript_include_tag 'jquery-1.4.2.min', 'jquery.validate.min.js', 'rails', 'application', 'jquery.jgrowl.min', 'jquery.tools.min.js', :cache => 'jquery-libs' %> 2011-07-19T07:15:54+00:00 app[web.1]: 13: <% end %> 2011-07-19T07:15:54+00:00 app[web.1]:
2011-07-19T07:15:54+00:00 app[web.1]: 2011-07-19T07:15:54+00:00 app[web.1]: 2011-07-19T07:15:59+00:00 app[web.1]: 2011-07-19T07:15:59+00:00 app[web.1]: 2011-07-19T07:15:59+00:00 app[web.1]: Started GET "/admin" for 81.30.54.182 at Tue Jul 19 00:15:59 -0700 2011 2011-07-19T07:15:59+00:00 app[web.1]: 2011-07-19T07:15:59+00:00 app[web.1]: 2011-07-19T07:15:59+00:00 app[web.1]: Started GET "/login" for 81.30.54.182 at Tue Jul 19 00:15:59 -0700 2011 2011-07-19T07:15:59+00:00 app[web.1]: 2011-07-19T07:15:59+00:00 app[web.1]: ActionView::Template::Error (Permission denied - /app/public/stylesheets/.permissions_check.70345869240640.1.650307): 2011-07-19T07:15:59+00:00 app[web.1]: 7: <%= csrf_meta_tag %> 2011-07-19T07:15:59+00:00 app[web.1]: 8: 2011-07-19T07:15:59+00:00 app[web.1]: 9: <%= hook :inside_head do %> 2011-07-19T07:15:59+00:00 app[web.1]: 10: <%== stylesheet_tags %> 2011-07-19T07:15:59+00:00 app[web.1]: 11: <%= stylesheet_link_tag 'jquery.jgrowl' %> 2011-07-19T07:15:59+00:00 app[web.1]: 12: <%= javascript_include_tag 'jquery-1.4.2.min', 'jquery.validate.min.js', 'rails', 'application', 'jquery.jgrowl.min', 'jquery.tools.min.js', :cache => 'jquery-libs' %> 2011-07-19T07:15:59+00:00 app[web.1]: 13: <% end %> 2011-07-19T07:15:59+00:00 app[web.1]:
2011-07-19T07:15:59+00:00 app[web.1]: 2011-07-19T07:15:59+00:00 app[web.1]: 2011-07-19T07:16:05+00:00 app[web.1]: 2011-07-19T07:16:05+00:00 app[web.1]: 2011-07-19T07:16:05+00:00 app[web.1]: Started GET "/" for 81.30.54.182 at Tue Jul 19 00:16:05 -0700 2011 2011-07-19T07:16:05+00:00 app[web.1]: 2011-07-19T07:16:05+00:00 app[web.1]: ActionView::Template::Error (Permission denied - /app/public/stylesheets/.permissions_check.70345869240640.1.791719): 2011-07-19T07:16:05+00:00 app[web.1]: 7: <%= csrf_meta_tag %> 2011-07-19T07:16:05+00:00 app[web.1]: 8: 2011-07-19T07:16:05+00:00 app[web.1]: 9: <%= hook :inside_head do %> 2011-07-19T07:16:05+00:00 app[web.1]: 10: <%== stylesheet_tags %> 2011-07-19T07:16:05+00:00 app[web.1]: 11: <%= stylesheet_link_tag 'jquery.jgrowl' %> 2011-07-19T07:16:05+00:00 app[web.1]: 12: <%= javascript_include_tag 'jquery-1.4.2.min', 'jquery.validate.min.js', 'rails', 'application', 'jquery.jgrowl.min', 'jquery.tools.min.js', :cache => 'jquery-libs' %> 2011-07-19T07:16:05+00:00 app[web.1]: 13: <% end %> 2011-07-19T07:16:05+00:00 app[web.1]:
2011-07-19T07:16:05+00:00 app[web.1]: 2011-07-19T07:16:05+00:00 app[web.1]:

а локально запускается, но это не магазин! отображается только текст, никакого оформления нет, в девелопменте всё нормуль, как правильно разворачивать?

greendog commented 13 years ago

Здесь есть поиск. Если им воспользоваться, то можно найти вот такое: https://github.com/tonkapark/spree_heroku и такое: https://github.com/paxer/spree-heroku а ещё есть вот эти: https://github.com/RSpace/spree-heroku https://github.com/spree/spree-heroku-app

Сразу скажу, что я не юзал хероку и эти расширения.

а вот это

а локально запускается, но это не магазин! отображается только текст, никакого оформления нет, мало кому понятно будет - телепатов здесь нет.

GarPit commented 13 years ago

Heroku имеет Read Only Filesystem, проблема в этом скорее всего

greendog commented 13 years ago

Всё верно. Просто автор не потрудился поискать и найти вот это: This extension uses Amazon S3 to host images instead of the local disk on Heroku. YOU MUST HAVE AN AMAZON S3 ACCOUNT TO USE THIS EXTENSION. Get one here: http://aws.amazon.com/s3/

Sashe commented 13 years ago

вот что я имел ввиду говоря про продакшн на локальной машине [URL=http://radikal.ru/F/s006.radikal.ru/i213/1107/7d/a5efa92b756c.jpg.html][IMG]http://s006.radikal.ru/i213/1107/7d/a5efa92b756ct.jpg[/IMG][/URL]

Sashe commented 13 years ago

а где вы можете порекомендовать развернуться? Чтоб без такого геморроя.

greendog commented 13 years ago

Что-то мне подсказывает, что в production запущено приложение... Если так, то запусти в development и всё будет отображаться нормально. Для справки: на localhost в production не будет работать правильно: http://spreecommerce.com/documentation/server_configuration.html#serving-public-assets

greendog commented 13 years ago

а где вы можете порекомендовать развернуться? Чтоб без такого геморроя.

Купи хостинг. Лучше vds. Это сейчас недорого.

GarPit commented 13 years ago

http://www.hetzner.de/

pronix commented 13 years ago

дешевле и проще http://www.linode.com/?r=d426e4a03caa4ee224da687c3cf94a6f1b7e2967

greendog commented 13 years ago

Дешевле и проще?! ;) Сравни http://www.hetzner.de/hosting/produkte_rootserver/eq4 - этот без налога стоит 42 евро Intel® Core™ i7-920 Quadcore incl. Hyper-Threading Technology RAM8 GB DDR3 RAM Hard discs2 x 750 GB SATA-II HDD (Software-RAID 1)NIC1 GBit OnBoard connected at 100 MBitBackup Space100 GB TrafficUnlimited*

и возьми такой же по цене (в переводе на рубли). Разница ощутима и в не в пользу линоде: Linode 1536 - память $59.95 60GB - место на диске 600GB -ограничение по трафику про проц вообще не нашёл.

greendog commented 13 years ago

Да, и чем проще-то?

pronix commented 13 years ago

хорошей админкой, статистикой и пр. а дешевле тем что для старта дотстаточно 20$ месяц. вырастет до нормального сервера - хорошо. не вырастет - меньше денег потеряет. лучше бы синергисты сборку для gae сделали - вот уж действительно быстрый и бесплатный старт.

greendog commented 13 years ago

а дешевле тем что для старта дотстаточно 20$ месяц

ну если так, то может быть

Для gae разве можно ruby запустить? Если только jruby, но это мешок проблем - для jruby много гемов нет вообще или работают через раз, или не поддерживаются. Я уже второй год пытаюсь запустить spree на jruby. Пока с нулевым результатом. А для gae, с его хранилищем, мне кажется такое вообще не выйдет. А так да, идея хороша.

pronix commented 13 years ago

jruby замечательный для таких дел где под яву заточенно - советую. а про сприи - надо менять active_record на datamapper либо дописывать плагин для ar. на синатре хорошо проекты запускаются на gae.

oleksify commented 13 years ago

Второй магазин на хероку запускаю - как по мне так именно этот хостинг и можно назвать хостингом без гемороя

greendog commented 13 years ago

Второй магазин на хероку запускаю - как по мне так именно этот хостинг и можно назвать хостингом без гемороя

вот к кому надо автору топика обращаться :)

pronix commented 13 years ago

добрее надо - нас и так мало :)

GarPit commented 13 years ago

и все равно 20$ против 6.7 евро (уже с вычетом налога). Точно не дешевле

pronix commented 13 years ago

это где ты в хетзнере наковырял 6.7 евро ?

GarPit commented 13 years ago

http://www.hetzner.de/hosting/produkte_vserver/vq7

pronix commented 13 years ago

действительно. хетзнер рулит - согласен.

Sashe commented 13 years ago

devilcoders, а можно поподробнее? Какие шаги для запуска магазина на хероку? Как правильно развернуть?

oleksify commented 13 years ago

Wed Jul 20 06:07:07 2011, Sashe писал:

devilcoders, а можно поподробнее? Какие шаги для запуска магазина на хероку? Как правильно развернуть?

Незнаю как правильно, но я делаю два окружения, staging и production. Подключаю эддоны для домена, SSL, memcached, ну и все, что нужно для конкретного магазина. Файлы можно хостить на S3 или на Rackspace CloudFiles (у меня ощущение что отсюда быстрей отдаются). Ну вот собственно и все. Все зависит от магазина. Мне вот в последнем indextank нужен для поиска. Все зависит от конкретного магазина. Ну коннечно я беру последний стек Хероку с последним руби. Все работает отлично.

Sashe commented 13 years ago

А мне Romul настоятельно рекомендовал ree 1.8.7, на тот стек и развернулся... А есть ли бесплатный способ попробовать развернуться?

oleksify commented 13 years ago

Wed Jul 20 09:42:43 2011, Sashe писал:

А мне Romul настоятельно рекомендовал ree 1.8.7, на тот стек и развернулся... А есть ли бесплатный способ попробовать развернуться?

да, стек бесплатный. Я люблю пробывать все самое последнее и готов рискнуть. У меня все работает, за исключением всяких глюков сприи которые по всей видимости не связаны с версией руби.

Sashe commented 13 years ago

я имею ввиду бесплатную хранилку навроде амазона

oleksify commented 13 years ago

Wed Jul 20 13:38:07 2011, Sashe писал:

я имею ввиду бесплатную хранилку навроде амазона

Амазон - бесплатная хранилка?

Sashe commented 13 years ago

нет, не бесплатная. Наверное, не правильно выразился :). Как амазон, только бесплатная.

oleksify commented 13 years ago

Wed Jul 20 13:49:08 2011, Sashe писал:

нет, не бесплатная. Наверное, не правильно выразился :). Как амазон, только бесплатная.

Бесплатных хранилок нету, но амазон с ее ценами и так как бесплатная. Но на новом стеке можно сохранять в папку public насколько я понял, ибо я первый раз забыл настроить и оно мне насохраняло туда фоток на 30 метров

Sashe commented 13 years ago

Ох ты, круто! Но этот стек на руби 1.9.2? и там не очень хорошо спри работает?

oleksify commented 13 years ago

Wed Jul 20 14:18:07 2011, Sashe писал:

Ох ты, круто! Но этот стек на руби 1.9.2? и там не очень хорошо спри работает?

У меня пока нормально работает. Делаю магазин музыкальных инструментов и аппаратуры сейчас. http://dev.muzarena.com.ua - пока страшно сыро, еще месяц будет в активной разработке до релиза. Для поиска использую indextank.com - как раз сейчас им и занимаюсь, делаю facet search. Потом может как дополнение к спри сделаю. Файлы размещаю на rackspace cloudfiles - ощущение что быстерй отдаются да как-то проще там все чем в амазоне.

Sashe commented 13 years ago

Во класс! Мне до такого магазина ещё расти и расти! Я делаю свой первый магазин, да это и первое моё приложение на рельсах, и первое веб приложение вообще. Не могу себе представить, как ты изменил настолько синерджи!

oleksify commented 13 years ago

Wed Jul 20 14:37:09 2011, Sashe писал:

Вок класс! Мне до такого магазина ещё расти и расти! Я делаю свой первый магазин, да это и первое моё приложение на рельсах, и первое веб приложение вообще. Не могу себе представить, как ты изменил настолько синерджи!

Это просто сприи, я synergy не ставил.

oleksify commented 13 years ago

Wed Jul 20 15:09:40 2011, Alex писал:

Wed Jul 20 14:37:09 2011, Sashe писал:

Вок класс! Мне до такого магазина ещё расти и расти! Я делаю свой первый магазин, да это и первое моё приложение на рельсах, и первое веб приложение вообще. Не могу себе представить, как ты изменил настолько синерджи!

Это просто сприи, я synergy не ставил.

Если Romul рекомендует использовать ree 1.8.7 и Вы не готовы столкнутся с трудностями и возмодными проблемами при использовании 1.9.2, то лучше все-таки использовать 1.8.7

romul commented 13 years ago

Что касается деплоя на Heroku, я рекомендую пользоваться официальным базовым приложением: https://github.com/spree/spree-heroku-app

Его скачивание заменяет шаг "rails new synergy_app -GJTq" из руководства по установке Synergy.

Не могу себе представить, как ты изменил настолько синерджи!

Вообще расширение synergy_default_theme само по себе является хорошим примером кастомизации внешнего вида магазина. Напомню, что дефолтная тема Spree выглядит следующим образом: http://s2.ipicture.ru/uploads/20110722/X42SXp37.png

и Вы не готовы столкнутся с трудностями и возможными проблемами при использовании 1.9.2

Вот это решающий фактор, с 1.9.2 трудностей будет на данный момент больше, чем с 1.8.7, это факт. Те, кому они по плечу, только приветствуются, т.к. они помогают обновлению Spree и Synergy. То же касается и Rails 3.1. Но новичков эти трудности будут только вводить в ступор, поэтому им лучше применять рекомендованное окружение: http://synergycommerce.ru/technical-parameters

Это просто сприи, я synergy не ставил.

В плане кастомизации внешнего вида нет никакой разницы между Spree и Spree + Synergy.

Sashe commented 13 years ago

Его просто скопировать в папку проекта и проделать установку до конца?

И как там решается проблема запрета записи на хероку?

Sashe commented 13 years ago

А при развёртывании все оперции надо повторять? * bundle install * rails g spree:site -f * rake spree:install * rake synergy:install * rake synergy_default_theme:install * rake db:migrate * rake db:seed db:sample * rails s Юзаю passenger capistrano nginx

romul commented 13 years ago

Его просто скопировать в папку проекта и проделать установку до конца?

Папку проекта можно вообще удалить.. А его надо использовать вместо rails new. Все остальные шаги, разумеется, надо повторить уже поверх этого приложения.

И как там решается проблема запрета записи на хероку?

Изображения заливаются на Amazon S3