Два веб-сервера работают на одной машине linux?

Да, для этого следует использовать переменную среды BASH_ENV ( ENV , когда bash находится в режиме POSIX), расширение переменной используется как файл инициализации оболочки для неинтерактивного сеанса. Обратите внимание, что значение этой переменной подвергается расширению параметров, подстановке команд и арифметическому расширению, а конечное имя файла не ищется в ПУТЬ .

Просто укажите желаемый файл как значение переменной, например предполагая ~ / .bashrc :

BASH_ENV=~/.bashrc bash -c '...'
3
02.08.2016, 05:13
2 ответа

Стандартным решением для этого является использование внешнего сервера, который отправляет запросы соответствующему «реальному» серверу, обычно на основе имени хоста. Это называется обратным прокси . Nginx очень часто используется для этого. Начните с учебного пособия .

Вот как выглядит конфигурация ( /etc/nginx/nginx.conf ) обратного прокси с двумя бэкэндами:

server {
    server_name java-app.example.com;
    proxy_pass http://localhost:8000/;
}

server {
    server_name python-app.example.com;
    proxy_pass http://localhost:8080/;
}

Конечно, есть много других опций, которые могут быть полезны .

0
27.01.2020, 21:38

Вы можете установить и настроить nginx в качестве обратного прокси, чтобы ваш запрос к TCP: 80 был перенаправлен на разные фактические порты на основе вашего полного доменного имени в HTTP-запросе.

Посмотрите здесь , чтобы увидеть пример конфигурации nginx.

0
27.01.2020, 21:38

Теги

Похожие вопросы