Я нахожусь на VPS. Я создал новое приложение для рельсов с rails new rails_app -d mysql
. Я бегу nginx с пассажиром. Я запускаю Rails 3.2.12 и Ruby 1.9.3. В моем файле nginx.conf я добавил следующее в server
директивы:Приложение Moving Rails для производства с nginx
listen 80;
server_name www.mydomain.com;
passenger_enabled on;
root /home/mike/www/rails_app/public;
rails_env production;
Когда я указываю на www.mydomain.com я вижу Добро пожаловать на борт едешь Ruby On Rails !. Когда я нажимаю на О среде вашего приложения я получаю эту ошибку:
The page you were looking for doesn't exist.
Когда я просматриваю production.log я вижу эту ошибку и не знаю, что с ним делать:
ActionController::RoutingError (No route matches [GET] "/rails/info/properties")
I «Я всю ночь пробовал и прочитал все проблемы, похожие на это, но все же я не могу решить свою проблему. Если я запустил это в процессе разработки, все будет хорошо.
EDIT
Я нашел это объяснение для Rails 2.3.4 проблемы: ссылка выстреливает запрос AJAX рельсов/Информацию/свойство. Действие свойства определено в Rails :: InfoController, который живет в /rails/railties/builtin/rails_info/rails/info_controller.rb.
Маршрут не обязательно должен быть определен явно, поскольку он соответствует маршруту по умолчанию Rails: controller /: action /: id (хотя в этом случае идентификатор отсутствует, а контроллер живет в пространстве имен Rails).
Но я не вижу info_controller.rb
в любом месте.
ОК Я нашел это: config.consider_all_requests_local
- это флаг. Если true, любая ошибка приведет к тому, что в ответе HTTP будет выгружена подробная информация об отладке, а контроллер Rails :: Info отобразит контекст среды выполнения приложения в/rails/info/properties. Истина по умолчанию в средах разработки и тестирования и false в режиме производства. Для более тонкого управления установите для этого значение false и реализуйте local_request? в контроллерах указать, какие запросы должны предоставлять отладочную информацию об ошибках.
но установка этого на false делает ничего.
EDIT 2 Хорошо, я идиот. Найденный здесь: You're clicking the "About your application’s environment" link on the Rails default index.html page. This link only works in development environment, not in production.
И всю эту ночь я думал, что мое приложение Rails не работает. Поэтому, я думаю, я сдадусь и пойду спать.
Нет, это не поможет. – mikeglaz