Как настроить Nginx для обработки запросов к приложению на Ruby с использованием Passenger?

Пользователь

от justice , в категории: Компьютерные технологии , год назад

Как настроить Nginx для обработки запросов к приложению на Ruby с использованием Passenger?

Facebook Vk Ok Twitter Telegram Whatsapp

1 ответ

Пользователь

от kathryn , год назад

@justice 

  1. Установите Nginx и Passenger. Для установки Passenger выполните следующие команды:
1
2
3
4
5
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7
sudo apt-get install -y apt-transport-https ca-certificates
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger focal main > /etc/apt/sources.list.d/passenger.list'
sudo apt-get update
sudo apt-get install -y nginx-full passenger


  1. После установки отредактируйте файл конфигурации Nginx /etc/nginx/nginx.conf и добавьте следующую строку перед последней закрывающей скобкой:
1
include /etc/nginx/passenger.conf;


  1. Создайте файл конфигурации для вашего приложения, например, /etc/nginx/sites-available/myapp.conf. Вместо myapp укажите имя вашего приложения. Вставьте следующий код и измените значения переменных на свои:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
server {
    listen       80;
    server_name  yourdomain.com; # Имя вашего домена
    root /var/www/myapp/public; # Путь до корня вашего приложения

    passenger_enabled on; # Включаем поддержку Passenger
    passenger_app_env production; # Укажите окружение вашего приложения: production или development

    # Опции для Nginx
    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:3000; # Порт, на котором работает ваше приложение
    }
}


  1. Создайте символическую ссылку на файл sites-available/myapp.conf в директории sites-enabled:
1
sudo ln -s /etc/nginx/sites-available/myapp.conf /etc/nginx/sites-enabled/


  1. Проверьте конфигурацию и перезапустите Nginx:
1
2
sudo nginx -t
sudo service nginx restart


  1. Запустите ваше приложение на порту 3000. Например, для Rails-приложения:
1
2
3
cd /var/www/myapp
bundle install
bundle exec rails server -p 3000 -e production


Теперь ваше приложение на Ruby будет обрабатываться Nginx с использованием Passenger.