Python — Какая разница в процессе установки / развертывания Django, RoR и PHP с Apache

У меня есть несколько общих вопросов относительно различий в процессе установки Django, RoR и PHP с Apache. Мое понимание следующее, верно ли мое понимание? это лучшие практики для развертывания Django и RoR с Apache?

PHP:

Apache имеет собственный интерпретатор PHP, поэтому, когда Apache получает запрос http, который вызывает файл .php, он запускает код PHP напрямую и возвращает HTML-код результата запрашивающей стороне. Чтобы настроить PHP с Apache, нам просто нужно указать путь к каталогу PHP в файле конфигурации Apache

RoR:

Apache не имеет встроенного интерпретатора для Ruby; должен быть отдельный веб-сервер Rails, такой как Thin или Unicorn, работающий на порте, отличном от 80. Этот веб-сервер может вызывать интерпретатор Ruby для обработки программ Ruby. Апач в этом процессе состоит в том, чтобы перенаправить http-запрос на порт 80 на порт, где слушает сервер rails. Следующие строки в файле конфигурации Apache будут выполнять перенаправление: (при условии, что сервер Rails работает на порту 3000).

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
<VirtualHost *:80>
ServerName <xxx>
DocumentRoot "D:/RailsFolder"ProxyPass / http://<xxx>.com:3000/
ProxyPassReverse / http://<xxx>.com:3000/
ProxyPreserveHost On
</VirtualHost>

Является ли это идеальным способом развертывания RoR с Apache, будут ли проблемы с производительностью из-за издержек перенаправления?

Джанго:

Это моя наименее знакомая тема. Насколько я понимаю, в Apache нет встроенного интерпретатора для Python, но мы можем установить модуль «mod_wsgi» в Apache, это позволит Apache интерпретировать код Python напрямую. После установки модуля «mod_wsgi» я могу использовать Apache с приложением Django так же, как PHP; который напрямую указывает путь к каталогу Django в конфигурационном файле Apache, и каждый раз, когда в HTTP поступает запрос http, Apache будет вызывать интерпретатор python для обработки программы python. Это правильное понимание?

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector