2014-01-12 2 views
0

мне нужно, чтобы начать мой рельсы сервер так:Как обернуть nginx + пассажира пользовательской командой?

DISPLAY=localhost:1.0 xvfb-run bundle exec rails s 

Это делает то, что мне нужно, но я хочу использовать Nginx + пассажир, где я должен положить, что так оно будет работать? Into nginx скрипт инициализации? К nginx.conf? Или где-то еще? Я не могу найти что-либо в docs, так как это должно быть сделано правильно?

ответ

0

Установка пассажира: gem install passenger

Установка Nginx: rvmsudo passenger-install-nginx-module и следуйте инструкциям на экране. Просто нажмите клавишу ВВОД, чтобы обеспечить стандартное значение

Редактировать файл nginx.conf:

http { 
    passenger_root /home/ubuntu/.rvm/gems/ruby-2.0.0-p353/gems/passenger-4.0.30; 
    passenger_ruby /home/ubuntu/.rvm/wrappers/ruby-2.0.0-p353/ruby; 
    ... 
    ... 
    server { 
    listen  80; 
    server_name localhost; 

    passenger_enabled on; 

    root /path/to/rails/app/public; 
    ... 

Также Закомментируйте:

#location/{ 
    # root html; 
    # index index.html index.htm; 
    #} 

Вам также потребуется перекомпилировать свои активы, запустив

RAILS_ENV=production rake:assets precompile

Теперь вам просто нужно запустить nginx.

sudo service nginx start

Если вы получите сообщение об ошибке, то вы можете перейти в каталог, в котором Nginx файлы расположены (/opt/nginx по умолчанию)

Перейдите в каталог /opt/nginx/sbin и:

./nginx начать Nginx

./nginx -s stop для остановки nginx

Вы также можете добавить эту переменную $ PATH

+0

Извините, я не был конкретным, у меня есть работающий nginx + пассажир, я просто хочу каким-то образом его обернуть. Как замечание, в arch linux (мой VPS работает на нем) threre не является 'службой',' systemctl' используется для управления сервисами. – zrl3dx

Смежные вопросы