Как настроить Rails как подкаталог Wordpress - PullRequest
0 голосов
/ 28 марта 2019

Я хочу настроить мой сервер apache для запуска Wordpress на главной странице и моего приложения Rails в подкаталоге. Я имею в виду:

mysite.com -> перейти к Wordpress

mysite.com / app -> перейти на Rails

Как мне это сделать?

Ответы [ 2 ]

1 голос
/ 28 марта 2019
<VirtualHost>
    ServerName mysite.com

    ProxyPass / https://localhost:8000/
    ProxyPassReverse / https://localhost:8000/


    ProxyPass /app http://localhost:3000/
    ProxyPassReverse /app http://localhost:3000/
</VirtualHost>

От Apache:

Помимо того, что он является «базовым» веб-сервером и предоставляет статический и динамический контент конечным пользователям, Apache httpd (как и большинство других веб-серверов)) также может выступать в качестве обратного прокси-сервера, также известного как «сервер шлюза».

В таких случаях сам httpd не генерирует и не размещает данные, а скорее контент получает один илинесколько внутренних серверов, которые обычно не имеют прямого подключения к внешней сети.Когда httpd получает запрос от клиента, сам запрос передается на один из этих внутренних серверов, который затем обрабатывает запрос, генерирует контент и затем отправляет этот контент обратно на httpd, который затем генерирует фактический HTTP-ответ обратно клиенту.

Итак, ваш бэкэнд будет работать на двух разных серверах: Wordpress и Rails.Мы просто существенно меняем соответствующий порт и пропускаем запрос.Затем содержимое возвращается в Apache, и Apache генерирует правильный HTTP-ответ.

0 голосов
/ 29 марта 2019

Прочитайте эту статью для объяснения. нажмите здесь Необходимы две вещи

  1. изменение в файле application.rb
module YourAPPName
  class Application < Rails::Application
    config.relative_url_root = '/runthisinrubyonrails'
    # some other configuration code
  end
end
изменить конфигурацию nginx
upstream unicorn_sock {
  server your_sock_path;
}

server {
root <path_to_your_rails_app>/public;
location @proxy_rails_app {
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $http_host;
  proxy_redirect off;
  proxy_pass http://unicorn_sock;
}
location /runthisinrubyonrails/ {
  alias <path_to_your_rails_app>/public/;
  try_files $uri @proxy_rails_app;
}
try_files $uri @proxy_rails_app;
 some other configuration code
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...