#ruby-on-rails #cpanel #apache-config
#ruby-on-rails #cpanel #apache-config
Вопрос:
Я нахожусь в процессе изучения Ruby on Rails, и все шло гладко — до тех пор, пока я не попытался развернуть одно из своих тестовых приложений в своей учетной записи общего хостинга.
Я использую Host Gator и смог успешно создать новое приложение Ruby on Rails через cPanel и запустить его. Единственная проблема заключается в том, что когда вы создаете новое приложение таким образом, оно заполняет свой каталог пустым приложением — как это было бы rails new app_name
локально. Когда я удаляю файлы и папки в этом каталоге и заменяю их своими, затем пытаюсь запустить приложение, cPanel сообщает, что оно запущено на странице подтверждения, но на самом деле оно никогда не запускается. Я также не получаю никаких сообщений об ошибках.
Хост казался довольно озадаченным, заявив, что это должно быть вопросом удаления исходных файлов и папок и их замены, а затем запуска. Приложение отлично работает локально, поэтому я не думаю, что это проблема с кодом. В своем исследовании я наткнулся на Passenger, хотя это выше моего понимания, и может показаться, что вам действительно нужен полный контроль над Apache, чтобы заставить все это работать, включая ssh.
Если это имеет какое-либо значение, приложения, которые я создал локально, были собраны с использованием установки Rails Installer и являются каркасными. Для тестирования я использую минимальное приложение примерно с тремя полями в таблице.
Чего мне не хватает? Будем признательны за любую помощь.
Комментарии:
1. Развертывание приложения Rails в средах общего хостинга, как правило, является кошмаром. Рассматривали ли вы Heroku или Engineeryard?
2. До прошлой недели я был в основном разработчиком PHP, но я хотел расшириться. Все шло гладко, пока я работал на localhost, но это действительно был кошмар. При ОЧЕНЬ медленном продвижении оказывается, что команды, которые я использовал, предназначены для Rails 3, а Host Gator использует более старую версию. Как только я использовал старые команды, я смог создавать такие вещи, как строительные леса. Теперь пытаюсь выяснить, почему я получаю ошибку 404 при попытке получить доступ к страницам, сгенерированным script / generate scaffold.
3. Кроме того, CakePHP может быть плагином RoR, но, черт возьми, это просто работает! лол
4. Просто добавляю свои два цента, внутри rails с общим окружением это кошмар. Подумайте об использовании heroku или engine yard.
5. Когда-то давно я шел по пути cPanel и rails, серьезно, не ходите туда, вы буквально доведете себя до безумия! Поверьте мне, «git push heroku master» — ваш друг.
Ответ №1:
Максимальные поддерживаемые версии на 26/10/2013:
Ruby 1.8.7 RubyGems 1.8.25 Rails 2.3.18
Все, что новее этого, почти гарантированно выйдет из строя, и cPanel amp; WHM не смогут использовать это каким-либо образом, в какой-либо форме.
Мы можем помочь вам удалить существующие установки Ruby on Rails и вернуть их обратно к версиям, поддерживаемым cPanel и санкционированным (Ruby 1.8, RubyGems 1.8 и Rails 2). Это единственное, что мы можем сделать для вас на данный момент.
Если вы хотите использовать какие-либо версии новее этой, то вы не сможете использовать интерфейсы cPanel amp; WHM или инструменты управления для этого — они просто не будут работать. Затем вам придется вручную управлять установкой RoR самостоятельно исключительно через командную строку. Ничто из этого не подпадает под сферу поддержки cPanel.
Ответ №2:
Вы можете использовать http://ndeploy.в котором есть сторонний плагин для интеграции Rails-хостинга через Phsuion Passenger в cPanel.
Ответ №3:
Просто чтобы другие, кто использует Cpanel с rails, знали.
Я смог использовать Cpanel для создания приложения rails, запустить его и выполнить перенаправление всего внутри Cpanel. Ничего не нужно изменять. Для меня это довольно просто.
Поэтому, я думаю, было бы проще выполнить работу по разработке непосредственно на самом сервере.
Не пытались развернуть локально разработанные rails на общий сервер или какие-либо другие как таковые. Но я предполагаю, что мы могли бы создать rails с помощью Cpanel и заменить файлы в созданном каталоге.