Rails 3.2 PrivatePub в производстве faye.js не найден
У меня проблема с гемом private_pub, который использует фэй гем и тонкий сервер.
Все это прекрасно работает в разработке, но на сервере я могу все запустить нормально, но на странице, где я использую private_pub, я получаю сообщение об ошибке в консоли js (chrome), которое говорит
GET http://myapp.example.com/faye.js 406 (Not Acceptable)
и когда я просматриваю http://myapp.example.com/faye.js в браузере (URL-адрес изменен), я получаю пустой экран, где в процессе разработки отображается весь код js. Кроме того, я могу видеть в инструментах разработчика Chrome, которые я вижу в разработке, тип "Ожидание", а в производстве я вижу, что он передается как "text / html"
Я гуглил и гуглил и ничего не придумал. Может кто-то указать мне верное направление.
Есть ли какой-то особенный тип MIME, который здесь передается, что мне нужно настроить apache или rails для принятия?
заранее спасибо
1 ответ
HAZZAH!
Я понял.
Я перепрыгнул через все виды обручей и не уверен на 100%, что найденное мной решение не работает из-за некоторых других вещей, которые я пробовал, но...
Первым делом я попробовал следовать руководству по установке Thin с приложением Rails на Centos (из документации Slicehost). Статьи Slicehost: CentOS - тонкий веб-сервер для Ruby, и он выполнил целую кучу тонких конфигураций. Но я не верю, что это было необходимо, потому что private_pub / faye должен обрабатывать все это для вас. (из того, что я понимаю)
Одна важная вещь заключается в том, что я знаю, что вам нужно использовать запуск, который описывает private_pub, даже если вы можете начать с самого начала.
RAILS_ENV=production bundle exec rackup private_pub.ru -s thin -D -E production
'-D' гарантирует, что он работает как фоновый процесс.
В моем private_pub.yml:
production:
server: "http://myapp.example.com:9292/faye"
secret_token: "{SECRET_TOKEN HERE}"
signature_expiration: 3600 # one hour
Я добавил в порт # здесь, и теперь все работает.