2015-08-18 2 views
1

Я следовал this tutorial развернуть Phusion Пассажир с Nginx, и после окончания, я все еще получаю сообщение об ошибке при открытии URL с IP-адресом (http://123.123.123.123)Cant развернуть Пассажир Nginx

Когда я наблюдаю ошибку .log от Nginx, я вижу это:

http://pastie.org/pastes/10358955/text?key=s16vrhu2cofrian1hluwa

из этого журнала, я заметил это:

Предупреждение: сборник не удалось. Чтобы узнать, почему, читать этот файл: App 15789 STDERR: /tmp/passenger_native_support-1g8vwu3.log

Так что это выход из этого файла:

http://pastie.org/pastes/10358951/text

Что здесь проблема? Почему приложение rails не работает?

ответ

0

Вам необходимо установить javascript runtime. Самое простое решение - добавить therubyracer в ваш Gemfile.

# See https://github.com/rails/execjs#readme for more supported runtimes 
gem 'therubyracer', platforms: :ruby 

Возможно, вам также необходимо установить либо curl, либо wget на основе журнала.

6

На самом деле проблема заключается не столько в отсутствии времени работы Javascript. Хотя в сообщении об ошибке упоминается «Не удалось найти время выполнения JavaScript», проблема актуальна в том, что ваша переменная среды PATH установлена ​​неправильно.

Индикатор в этих двух, казалось бы, несущественных сообщений об ошибках:

App 15789 stderr: sh: 1: 
App 15789 stderr: env: not found 

env общая команда Unix, расположенный в/USR/бен. Node.js, а также почти все остальное, также находится в/usr/bin. Если система не может найти env, значит, ваша переменная среды PATH установлена ​​неправильно.

Причина, по которой он установлен неправильно, скорее всего, потому что Nginx nuked your environment variables. Попробуйте добавить это в свой конфигурационный файл Nginx:

# Don't nuke PATH; preserve original value. 
env PATH; 
+0

Вы потрясающий. Я также столкнулся с такой же проблемой и не был уверен, что это проблема с пассажирами или nginx. Я попробовал все, чтобы установить переменную $ PATH у пассажира. Большое вам спасибо за такое хорошее объяснение. Не могли бы вы также рассказать мне, почему nginx начал nuking переменную PATH, но изначально она не использовалась? –

+0

env PATH; , добавленный в nginx.conf, исправил его для меня. Благодаря! –