Как мне настроить конфигурацию на эластичный костяной котёл
при развертывании локально в tomcat, я делаю это изменение (ниже) на server.xml, есть ли способ, которым я могу предоставить это для Эластичного Beanstalk?
<Connector connectionTimeout="20000" port="8080"
protocol="org.apache.coyote.http11.Http11NioProtocol"
redirectPort="8443"/>'
спасибо
Ответы
Ответ 1
Вы можете сделать это сейчас без предоставления пользовательского AMI. Следуйте инструкциям в разделе http://aws.typepad.com/aws/2012/10/customize-elastic-beanstalk-using-configuration-files.html
Чтобы создать пользовательский сервер xml, создайте папку .ebextensions в webapp, поместите туда пользовательский server.xml файл и добавьте еще один файл: server-update.config с содержание:
container_commands:
replace-config:
command: cp .ebextensions/server.xml /etc/tomcat7/server.xml
Ответ 2
Другой способ реализовать это без замены всего файла Tomcat server.xml
заключается в следующем в папке .ebextensions
(например, tomcat.config
)
files:
"/tmp/update_tomcat_server_xml.sh":
owner: root
group: root
mode: "000755"
content: |
#! /bin/bash
CONFIGURED=`grep -c '<Connector port="8080" URIEncoding="UTF-8"' /etc/tomcat7/server.xml`
if [ $CONFIGURED = 0 ]
then
sed -i 's/Connector port="8080"/Connector port="8080" URIEncoding="UTF-8"/' /etc/tomcat7/server.xml
logger -t tomcat_conf "/etc/tomcat7/server.xml updated successfully"
exit 0
else
logger -t tomcat_conf "/etc/tomcat7/server.xml already updated"
exit 0
fi
container_commands:
00_update_tomcat_server_xml:
command: sh /tmp/update_tomcat_server_xml.sh
Этот конфиг создает script (files
), а затем запускает его (container_command
). script проверяет строку server.xml
для строки UIREncoding="UTF8"
, и если она не находит ее, она добавляет ее с помощью команды sed
.
Самое приятное в этом решении заключается в том, что если вы обновите версию Tomcat (например, от 7 до 8), вам не придется беспокоиться об обновлении server.xml
в ваших различных файлах WAR.
Кроме того, этот пример предназначен для добавления параметра UIREncoding
, но script очень легко адаптируется для добавления свойства <Connector ... />'
из исходного вопроса.