【问题标题】:Deploy To tomcat7 without restarting server无需重启服务器即可部署到 tomcat7
【发布时间】:2015-04-02 23:48:05
【问题描述】:

我正在创建一个maven3tomcat7Spring4 java web 应用程序。我将我的应用程序部署在 Amazon AWS Ec2 实例上。我目前的工作流程如下

  1. 在我的本地环境中进行更改。
  2. git push我对我的 bitbucket 帐户的更改。
  3. ssh 进入我的 Ec2 实例。
  4. git pull我从 bitbucket 下的更改。
  5. kill -9当前运行在Ec2上的tomcat进程
  6. 在我的 Ec2 上运行 mvn clean tomcat7:run 以重新启动服务器,以便应用更改。

服务器在 8080 端口上运行,我已经设置了 iptables 将端口 80 转发到 8080。这一切都运行良好。

但是,在部署 tomcat/maven 应用程序时,我是个菜鸟。所以这是我的问题:

这是运行我的 java web 应用程序的最佳方式吗? mvn installmvn deploy 是否应该在某个地方成为流程的一部分?

在许多教程中,我看到对 server.xml 的引用来配置 tomcat,据我所知,我没有 server.xml 文件,因为 tomcat 完全由 maven 使用 tomcat7 插件配置。有问题吗?

最后,如何在不重新启动 tomcat 的情况下更改我的实时服务器(Ec2 实例)?当我的应用处于活动状态时,服务器停机时间是不可接受的。

我只是在寻找有关此过程在现实世界中如何工作的一般解释性答案,以便我知道我是否正确执行。

非常感谢!!

【问题讨论】:

    标签: java maven tomcat amazon-ec2 application-server


    【解决方案1】:

    你仍然可以在~/.m2/.settings.xml文件夹中配置tomcat7的设置,并添加一些设置如:

    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
        <servers>
            <server>
                <id>TomcatServer</id>
                <username>admin</username>
                <password>admin</password>
            </server>
        </servers>
    </settings>
    

    我不知道如何从 maven tomcat7:run 命令进行实时更改,但是您可以通过包管理器为 tomcat 安装本机版本,因此您只需将 .war 放在 /var/lib/tomcat7/webapps文件夹(此路径在某些 linux 发行版上可能会更改)。然后,您可以随时删除和删除新的 .war,而无需重新启动 tomcat7 服务。

    【讨论】:

      【解决方案2】:

      您可以通过API部署在tomcat中。

      1. 编辑 %TOMCAT_HOME%/conf/tomcat_users.xml 您的文件应类似于 this

      2. Edit %USER_HOME%/.m2/settings.xml 您的文件应该类似于this

      3. 在您的 pom.xml 中添加以下 plugin

      因此,在您的 AWS 实例中,您需要运行一个 tomcat 服务器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-07
        • 1970-01-01
        • 2022-09-06
        • 1970-01-01
        • 2015-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多