IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [143]
    Безопасность IT [404]
    Блоки питания, Power Banks, зарядки... [508]
    Видеорегистраторы [186]
    Гаджеты для спорта и здоровья... [190]
    Гаджеты, аксессуары... [627]
    Измерительная техника, инструменты [437]
    Накопители данных [232]
    Нетбуки, Ноутбуки, Ультрабуки [689]
    Мультиварки, блендеры и не только... [162]
    Планшеты [764]
    Радар-детекторы [26]
    Роботы-пылесосы [37]
    Своими руками [360]
    Сети, сетевые технологии, оборудование... [273]
    Смартфоны [4959]
    Фотокамеры, объективы, искусство фотографии.. [541]
    Умный дом [50]
    Электронные книги [101]
    CB, LPD, PMR- связь... [170]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [108]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [3981]
    mini computers и не только... [409]
    News IT, Это интересно, ликбез... [1120]
    Smart TV, UltraHD, приставки, проекторы... [415]
    Smart Watch [268]
    Sound: наушники, плееры, усилители... [618]
    Windows 10... [301]
    Windows 11 [37]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1347
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 56
    Гостей: 56
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2014 » Июль » 30 » Пошаговая настройка Ruby on Rails сервера с нуля на Ubuntu 14.04
    20:55
    Пошаговая настройка Ruby on Rails сервера с нуля на Ubuntu 14.04

    Пошаговая настройка Ruby on Rails сервера с нуля на Ubuntu 14.04

    В этом посте я пошагово расскажу как с нуля настроить продакшн-сервер для Rails. Частично это перевод вот этой английской статьи, но я убрал использование гема «Capistrano», т.к. куда проще воспользоваться git clone, а кому нужен Capistrano, тому и этот мануал не нужен. Так же я более подробно описал создание бд и добавил пару пунктов, без которых сервер не работал. Мы будем использовать:
     

    • Ubuntu 14.04
    • nginx + passenger
    • rvm
    • Ruby 2.1.2
    • PostgreSQL
    • git


    Для начала у вас уже должен быть сервер с включенным SSH-сервером.
     

    Шаг 0. Подготовка окружения.


    Логинимся к нему через свой любимый SSH-клиент. Скорее всего, у вас будет только root-аккаунт, поэтому для начала создаем нового пользователя и заходим под ним. В качестве примера используется имя пользователя deploy:

    sudo adduser deploy
    sudo adduser deploy sudo
    su deploy
    


     

    Создаем ключи для доступа к нашему серверу.


    Данный шаг не обязателен, и сервер будет работать и без него, но для безопасности это необходимо. Будет использовать утилита ssh-copy-id. В терминале вашего компьютера (не на сервере!) вводим:

    ssh-copy-id deploy@IPADDRESS
    


     

    Шаг 1. Устанавливаем все необходимое.

     

    Устанавливаем Ruby

     

    sudo apt-get update
    sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties
    


     

    Устанавливаем rvm

     

    sudo apt-get install libgdbm-dev libncurses5-dev automake libtool bison libffi-dev
    curl -L https://get.rvm.io | bash -s stable
    source ~/.rvm/scripts/rvm
    echo "source ~/.rvm/scripts/rvm" >> ~/.bashrc
    rvm install 2.1.2
    rvm use 2.1.2 --default
    ruby -v
    



    Команда для rubygems не устанавливать документацию:

    echo "gem: --no-ri --no-rdoc" > ~/.gemrc
    


     

    Устанавливаем nginx

     

    # Install Phusion's PGP key to verify packages
    gpg --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7
    gpg --armor --export 561F9B9CAC40B2F7 | sudo apt-key add -
    
    # Add HTTPS support to APT
    sudo apt-get install apt-transport-https
    
    # Add the passenger repository
    sudo sh -c "echo 'deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main' >> /etc/apt/sources.list.d/passenger.list"
    sudo chown root: /etc/apt/sources.list.d/passenger.list
    sudo chmod 600 /etc/apt/sources.list.d/passenger.list
    sudo apt-get update
    
    # Install nginx and passenger
    sudo apt-get install nginx-full passenger
    



    Введите следующую команду и проверьте что ip сервера в браузере теперь выдает nginx welcome page.

    sudo service nginx start
    



    Теперь нужно открыть конфиг файл nginx. Для этого я использовал редактор nano, который сразу есть в Ubuntu. Вводим команду:

    sudo nano /etc/nginx/nginx.conf
    



    Вам нужно раскомментировать две строчки:

    passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
    passenger_ruby /usr/bin/ruby;
    



    Адрес во второй строчке нужно изменить на следующий. Не забудьте заменить имя пользователя deploy на своего:

    /home/deploy/.rvm/wrappers/ruby-2.1.2/ruby
    


     

    Устанавливаем PostgreSQL

     

    sudo apt-get install postgresql postgresql-contrib libpq-dev
    



    Создаем пользователя (т.н. роль) в нашей бд. Логин и название бд в данном случае одинаковые и в качестве примера используется app_name:
     

    sudo -u postgres createuser --superuser app_name
     sudo -u postgres psql
    



    Задаем пароль:

    \password app_name
    



    Жмем Ctrl+d для выхода, после чего создаем базу данных:

    sudo -u postgres createdb app_name
    


     

    Шаг 2. Перенос приложения на сервер


    Воспользуемся git. Сначала переходим в папку вашего юзера:

    cd /home/deploy
    



    Идем на bitbucket.org или github.com, в общем, туда, где лежит ваш код и ищем ссылку на наш репозитарий и копируем ее в консоль сервера. Выглядит команда вот так:

    git clone https://deploy@bitbucket.org/deploy/app_name.git
    



    Теперь в папке вашего пользователя у вас есть папка с вашим приложением app_name.
     

    Шаг 3. Немного настроек


    Теперь нужно снова внести изменения в конфиг nginx. Тут уже придется использовать более мощный текстовой редактор, чем nano. Я воспользовался vim (установить его, как и все остальное можно командой sudo apt-get install vim). Открываем файл:

    sudo vim /etc/nginx/sites-enabled/default
    



    Теперь нам необходимо заменить содержимое следующим текстом. Вместо имени домена можно вписать ip-адрес, если у вас его еще нет. Так же не забудьте заменить имя пользователя deploy на своего:

    server {
     listen 80 default_server;
     listen [::]:80 default_server ipv6only=on;
    
     server_name mydomain.com;
     passenger_enabled on;
     rails_env production;
     root /home/deploy/myapp/public;
    
     # redirect server error pages to the static page /50x.html
     error_page 500 502 503 504 /50x.html;
     location = /50x.html {
     root html;
     }
    }
    



    Для этого в vim нажмем Ctrl+c, и нажмем букву V. Теперь мы можем выделить весь документ построчно, после чего вставить конфигурацию написанную выше. Сохранить документ можно так: Ctrl+c, потом :wq

    Теперь проверьте ваш config/database.yml файл, правильно ли указаны настройки подключения к базе данных. Должно быть:

    production:
     adapter: postgresql
     encoding: unicode
     database: app_name
     pool: 5
     username: app_name
     password: db-pass-word
    



    Теперь необходимо внести изменения в конфиг PostgreSQL:

    sudo nano /etc/postgresql/9.3/main/pg_hba.conf
    



    В этой строчке надо поменять «peer» на «md5»:

    local all postgres peer
    



    Теперь еще нужно доустановить JS Runtime, я использовал nodejs:

    sudo apt-get install nodejs
    



    Теперь переходим в папку с нашим приложением и выполняем миграцию бд и компиляцию assets:

    rake db:migrate RAILS_ENV=production
    rake assets:precompile RAILS_ENV=production
    



    Перезагружаем nginx и сервер должен работать:

    sudo service nginx restart
    

     

    http://habrahabr.ru/post/231661/

    Категория: Linux и не только | Просмотров: 1007 | Добавил: laptop | Рейтинг: 4.0/1
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2024