- Деплоим приложение как обычно с помощью Capistrano
- Настраиваем доменное имя на digitalocean, туториал
- Добавляем строку в файле
/home/etc/hosts
с доменным именем
# /home/etc/hosts
...
127.0.0.1 pinshop.com.ua www.pinshop.com.ua
...
- Настраиваем nginx - reverse proxy. Для этого в папке home/etc/nginx/sites-enabled должен быть файл конфигурации для каждого приложения. Пример файла:
# home/etc/nginx/sites-enabled/pinshop
upstream pinshop {
server unix:///home/deploy/apps/pinshop/shared/tmp/sockets/pinshop-puma.sock;
}
server {
listen 80;
server_name pinshop.com.ua www.pinshop.com.ua; # доменное имя, которое так же нужно прописать в /etc/hosts
root /home/deploy/apps/pinshop/current/public;
access_log /home/deploy/apps/pinshop/current/log/nginx.access.log;
error_log /home/deploy/apps/pinshop/current/log/nginx.error.log info;
location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
}
try_files $uri/index.html $uri @pinshop;
location @pinshop {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://pinshop;
}
error_page 500 502 503 504 /500.html;
client_max_body_size 10M;
keepalive_timeout 10;
}
- Перезапускаем nginx
sudo service nginx restart
Теперь доменное имя будет связано с приложением rails, которое находится по пути указанном в директиве root