Ruby on Rails: загрузка модифицированного сайта - PullRequest
0 голосов
/ 19 мая 2010

У меня чертовски много времени получается, что сайт, который я изменил для правильной работы. Первоначально я не настраивал сайт, и поскольку человек, который его настраивал, больше не работает со мной, мне пришлось изучать ruby ​​только для того, чтобы внести некоторые изменения. Я внес все изменения в сервер разработки, и все работало нормально. Затем я ознакомился с производством и разработкой и перенес только свои изменения. К сожалению, когда я загрузил свои изменения на рабочий сервер, я получил много ошибок.

Я изменил все разрешения на 755, что позаботилось о том, чтобы вообще иметь доступ ко всему, но после этого я начал получать много 500 ошибок. Ничего не обнаружилось в файле production.log. Я действительно понятия не имею, что происходит, за исключением того, что, возможно, вещи не замечают новых изменений. Я переместил старый сайт в папку резервных копий, и новый сайт вылетает всякий раз, когда переходит ко всему, что я изменил. В частности, я добавил ссылку на новую настройку с дополнительной группой контроллер / модель / представление. Он отлично работает при разработке, но в производстве он дает мне 404. Да, я скопировал все файлы.

Я даже поставил все обратно, как было, но сайт все еще показывает сломанную версию. Я проверил папку tmp / cache, но она была пуста. Запуск dispatch.fcgi показывает старый сайт (который я ожидал), но он все еще показывает некорректный новый сайт, когда я подключаюсь через браузер.

Я рвал на себе волосы, пытаясь заставить это работать. Любые идеи относительно того, как я могу заставить это работать?

Ответы [ 2 ]

1 голос
/ 19 мая 2010

Просто идея, вы перезапустили рабочий сервер после внесения этих изменений?

В Ubuntu или любой версии Linux команда:

sudo /etc/init.d/apache restart

Судя по вашему описанию, сервер не принял новые изменения.

Надеюсь, это поможет.

0 голосов
/ 20 мая 2010

При развертывании FastCGI запускается процесс диспетчера cgi. Apache связывается с этим (этими) процессами, которые фактически отвечают за передачу запросов в / из приложения Rails. Таким образом, несколько копий приложения продолжают работать, и процессы Apache просто обмениваются данными с ними, сохраняя время запуска / разрыва, связанное с неускоренными запросами CGI.

Поскольку он работает в производственном режиме, происходит большое кеширование, которое может объяснить, почему вы все еще просматриваете старую версию сайта. Когда вы находитесь в режиме разработки, он явно не кэширует вещи, поэтому вы можете сразу увидеть свои изменения.

Я бы попробовал перезапустить веб-сервер, как предложено, это должно перезапустить и обработчик FastCGI.

Также следует помнить, что развертывание Rails несколько сложно; Я бы посоветовал вам прочитать об этом. Также вы можете захотеть поиграть со своими разрешениями, чтобы убедиться, что журналы записываются; они содержат полезную информацию отладки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...