Хостинг Ruby on Rails. Встановлення Ruby on Rails на сервер
Ruby on Rails - фреймворк, написаний на мові програмування Ruby для створення веб-додатків. Ruby on Rails працює практично на будь-якій ОС (рекомендується * nix системи) багато з якими веб-серверами (рекомендується Apache або nginx + passenger, у нашому пості ми розглянемо саме другий варіант самостійного встановлення RoR) і СУБД (MySQL, PostgreSQL, SQLite, Oracle , Firebird, і т.д.). Розробникам на RoR ми пропонуємо якісний Ruby on Rails хостинг, це передбачає - замовлення одного з тарифів VPS серверу в Україні або VPS в Європі з попередньо встановленим фреймворком - тобто повністю готовий сервер для розробки програми, згідно Ваших вимог і побажань (в коментарях до замовлення серверу необхідно вказати, що необхідне встановлення ruby, а також все, що б Ви хотіли бачити на цьому сервері і отримати від цього сервера). В даному ж пості ми розглянемо і опишемо встановлення Ruby on Rails на свій сервер (vps або dedicated).
Встановлення Ruby on Rails на свій сервер
Як показує практика, найбільш економічно використовувати RoR в зв'язці nginx + passenger. Встановимо цю зв'язку використовуючи найменш самозбірний софт, для простоти подальшої його підтримки. Встановлюємо необхідні додаткові утиліти та компілятори.
Будемо робити свій rpm:
yum -y install rpm-build
Компілятори:
yum -y install make gcc gcc-c++
Додаткові бібліотеки для сбірки:
yum -y install pcre-devel zlib-devel openssl-devel
Встановлюємо ruby, rubygems с epel:
rpm -ihv http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
yum update
yum -y install ruby ruby-devel rubygems rubygem-rails rubygem-fastthread rubygem-sqlite3-ruby
Завантажуємо nginx.src.rpm, можна звідси:
wget http://centos.alt.ru/pub/nginx/0.8/RHEL/SRPMS/nginx-0.8.53-2.el5.src.rpm
Встановлюємо:
rpm -ivh nginx-0.8.53-2.el5.src.rpm
Після виконання даної операції вихідний код nginx, а також скрипти були встановлені в /usr/src/redhat/SOURCES/, а spec файл (інструкція для збірки rpm пакета) в /usr/src/redhat/SPECS/.
Редагуємо файл nginx.spec під наші потреби:
--add-module=%{_builddir}/passenger/ext/nginx \
В папку /usr/src/redhat/BUILD завантажуємо архів passenger:
cd /usr/src/redhat/BUILD
wget http://rubyforge.org/frs/download.php/71376/passenger-2.2.15.tar.gz
tar xvf passenger-2.2.15.tar.gz
mv passenger-2.2.15 passenger
Збираємо rpm nginx:
rpmbuild -ba nginx.spec
rpm nginx буде в папці /usr/src/redhat/RPMS/i686
rpm -ivh nginx-0.8.53-2.i686.rpm
Перевіряємо конфігурацію на помилки, ставимо nginx в автозавантаження, стартуємо nginx:
nginx -t
chkconfig nginx on
service nginx start
Конфігурація Nginx (в /usr/local/app у нас буде наш RoR додаток):
user nginx;
worker_processes 10;
worker_rlimit_nofile 100000;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
use epoll;
}
http {
passenger_root /usr/local/passenger;
passenger_default_user root;
passenger_ruby /usr/local/passenger/ruby.sh;
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
server_tokens off;
keepalive_timeout 65;
# Load config files from the /etc/nginx/conf.d directory
include /etc/nginx/conf.d/*.conf;
server {
listen 3000;
server_name _;
root /usr/local/app/public;
passenger_enabled on;
rails_env development;
location / {
passenger_enabled on;
}
}
}
Копіюємо папку /usr/src/redhat/BUILD/passenger в папку /usr/local
В папку /usr/local/passenger прописуємо скрипт ruby.sh
#!/bin/bash
export PATH=$PATH:/usr/sbin:/sbin
/usr/bin/ruby $1
Встановлюємо права 755 на даний файл
chmod 755 ruby.sh
Можна перевіряти роботу програми - відкриваємо в браузері:
http://IP:3000
IP - IP-адреса нашого серверу.
Останні новини
Знижка на всі домени України до 21.10.2022!
Шановні користувачі! Цілий тиждень у нас знижка -15% на реєстрацію всіх українських доменів за промокодом defendersday22!Подорожчання низки українських доменів UA ccTLD!
Шановні користувачі! З 1 жовтня 2022 року на нас чекає подорожчання низки українських доменів - in.ua, od.ua, mk.ua!Важливі зміни у роботі низки українських доменів!
Шановні користувачі! У деяких українських доменних зонах збільшено термін періоду Redemption з 30 до 60 днів.Подорожчання виділених IP-адрес (IPv4) у Німеччині!
Шановні користувачі! У Німеччині істотно подорожчали додаткові виділені IP-адреси (IPv4) та IP-мережі.Останні записи з блогу