No seu bloco server
, você precisa definir a diretiva root
para o diretório de nível superior que contém seus recursos (para um aplicativo Rails, este é o diretório public
) e usar try_files
para carregar um ativo estático ou passe para o seu aplicativo Rails.
É claro que os arquivos estáticos devem estar acessíveis ao servidor da web (por exemplo, via NFS). Se você não pode fazer isso por algum motivo, então o proxy da máquina A para outra instância nginx na máquina B (que pode acessar os arquivos estáticos), que por sua vez proxies para unicórnio.
Um exemplo rápido:
server {
listen 80;
root /home/user/apps/test_app/public;
location / {
try_files $uri $uri/ @rails;
}
location @rails {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://unicorn_servers;
}
}