如何为弹性豆茎雄猫提供配置

2022-09-04 05:20:51

在本地部署到tomcat时,我对服务器进行了此更改(下图.xml,有没有办法将其提供给Elastic 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,请在webapp中创建.ebextensions文件夹,将自定义服务器.xml文件并添加另一个文件:server-update.config,内容如下:

container_commands:
  replace-config:
  command: cp .ebextensions/server.xml /etc/tomcat7/server.xml

答案 2

在不替换整个Tomcat文件的情况下实现这一点的另一种方法是在您的文件夹中使用以下方法(例如server.xml.ebextensionstomcat.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

此配置创建一个脚本 (),然后运行它 ()。脚本检查字符串,如果找不到它,则使用命令将其添加到中。filescontainer_commandserver.xmlUIREncoding="UTF8"sed

这个解决方案的好处是,如果您升级了Tomcat的版本(例如,从7升级到8),那么您不必担心更新各种WAR文件中的。server.xml

此外,此示例用于添加参数,但脚本很容易适应从原始问题添加属性。UIREncoding<Connector ... />'


推荐