Як налаштувати статичні веб-сторінки Ruby на Rails за зворотним проксі-сервером Nginx


0

Короткий зміст питання полягає в тому, яким способом встановити Nginx для обслуговування статичних сторінок для сайту, і як і де встановлений цей сервер Nginx (чи повинен він бути на тому ж сервері, де встановлений Ruby on Rails Server) і чи буде він працювати за Зворотний проксі Nginx.

Оригінальною проблемою було те, що програма rails не надсилала файли css і не рендерувала сайт під час виробничого середовища. Під час розробки середовище візуалізується правильно.

В даний час у мене є зворотний проксі-сервер Nginx, який діє на зворотному рівні проксі-сервера для декількох веб-сайтів домену (кожен домен веб-сайту працює на власному сервері з окремою локальною IP-адресою), який працює з однією єдиною IP-адресою WAN.

Рубінна версія 2.5 Рейки версії 5.2.2

Щойно розпочавшись на Ruby on Rails і налаштувавши сайт (example.com), він містить п'ять сторінок, чотири з п'яти сторінок статичні (вітаємо, допоможемо, контактні новини), одна сторінка динамічна і витягує дані з бази даних.

Мені довелося запустити нижче коду, а потім увімкнути загальнодоступний файловий сервер в true у RailsApp / config / environment / productions.rb.

$ bundle exec активів граблі: докомпіляція

RailsApp / config / середовища / productions.rb

config.public_file_server.enabled = true

В даний час є WAN IP -> Nginx Reverse Proxy (сервер 1) -> Ruby on Rails App Server (сервер 2).

Який рекомендований метод розміщення статичних сторінок, знайдених у додатку Ruby on Rails. Тобто, чи потрібен Nginx Reverse Proxy (сервер 1) для локального доступу до локальної локальної мережі до програми Rails App (Сервер 2) для доступу до статичних сторінок сайту чи інший веб-сервер Nginx встановлюється на сервері 2, а потім налаштовує цей новий Nginx на подавати запит на статичні сторінки?

Відповіді:


0

Згідно з посібником Rails

config.public_file_server.enabled налаштовує Rails для обслуговування статичних файлів із загальнодоступного каталогу. Цей параметр за замовчуванням відповідає значення true, але у виробничому середовищі встановлено значення false, оскільки серверне програмне забезпечення (наприклад, NGINX або Apache), яке використовується для запуску програми, повинно замість цього статичні статичні файли. Якщо ви запускаєте або тестуєте свою програму у виробничому режимі за допомогою WEBrick (не рекомендується використовувати WEBrick у виробництві), встановіть опцію true. В іншому випадку ви не зможете використовувати кешування сторінок і запит на файли, які існують у загальнодоступному каталозі.

а щодо вашого питання - чи повинен єдиний сервер nginx (зворотний проксі) обслуговувати рейки статичних файлів? відповідь: вірно (бажаний варіант)

Можливо, цей приклад конфігурації може допомогти.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.