У меня есть каталитическое веб-приложение на экземпляре Amazon EC2 Linux, и его содержимое обслуживается Apache / FastCGI.
Каждый раз, когда я запускаю новый экземпляр, мне нужно получить внутренний IP-адрес сервера базы данных и назначить его переменной среды, выполнив эту команду при запуске:
export MYSQL_HOST=$(dig +short ec2-*-*-*-*.compute-1.amazonaws.com);
У меня есть модуль perl, который должен создать соединение с базой данных после поиска значения переменной среды $ MYSQL_HOST.
Моя проблема довольно хорошо задокументирована в том, что FastCGI не может напрямую обращаться к этим переменным среды оболочки.
Я вижу, что вы можете использовать PassEnv из Apache mod_env для доступа к переменным среды и что вы можете присваивать значения переменным среды FastCGI, используя директиву Apache, FcgidInitialEnv (если я здесь жестко закодирую значение, я могу получить его, используя мой Модуль Perl).
Мои навыки настройки Apache довольно просты, поэтому мне было интересно, может ли кто-нибудь порекомендовать способ связать их вместе, чтобы мой модуль perl получил доступ к $ MYSQL_HOST.
Спасибо!