Как мне настроить конфигурацию на эластичный костяной котёл

при развертывании локально в 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 ... />' из исходного вопроса.