Да, для этого следует использовать переменную среды BASH_ENV
( ENV
, когда bash
находится в режиме POSIX), расширение переменной используется как файл инициализации оболочки для неинтерактивного сеанса. Обратите внимание, что значение этой переменной подвергается расширению параметров, подстановке команд и арифметическому расширению, а конечное имя файла не ищется в ПУТЬ
.
Просто укажите желаемый файл как значение переменной, например предполагая ~ / .bashrc
:
BASH_ENV=~/.bashrc bash -c '...'
Стандартным решением для этого является использование внешнего сервера, который отправляет запросы соответствующему «реальному» серверу, обычно на основе имени хоста. Это называется обратным прокси . 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/;
}
Конечно, есть много других опций, которые могут быть полезны .