簡體   English   中英

無需重新啟動服務器即可部署到tomcat7

[英]Deploy To tomcat7 without restarting server

我正在創建一個maven3tomcat7Spring4 java Web應用程序。 我將應用程序部署在Amazon AWS Ec2實例上。 我目前的工作流程如下

  1. 在我的本地環境中進行更改。
  2. git push我的更改git push送到我的bitbucket帳戶。
  3. ssh進入我的Ec2實例。
  4. git pull從bitbucket git pull我的更改。
  5. kill -9在Ec2上運行的當前tomcat進程
  6. 在我的Ec2上運行mvn clean tomcat7:run以重新啟動服務器,以便應用更改。

服務器在端口8080上運行,我已經設置了iptables將端口80轉發到8080。這一切都很好。

但是,當涉及到部署tomcat / maven應用程序時,我是個菜鳥。 所以這是我的問題:

這是運行Java Web應用程序的最佳方法嗎? mvn installmvn deploy應該成為某處過程的一部分嗎?

在許多教程中,我看到了用於配置tomcat的對server.xml引用,據我所知,我沒有server.xml文件,因為tomcat是完全由maven使用tomcat7插件配置的。 那是問題嗎?

最后,如何在不重新啟動tomcat的情況下對實時服務器(Ec2實例)進行更改? 當我的應用處於活動狀態時,服務器停機時間將不可接受。

我只是在尋找有關此過程在現實世界中如何工作的一般解釋性答案,因此我可以知道自己是否做得正確。

非常感謝!!

您仍然可以在〜/ .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服務。

您可以通過API在tomcat中進行部署。

  1. 編輯%TOMCAT_HOME%/ conf / tomcat_users.xml您的文件應如下所示

  2. 編輯%USER_HOME%/。m2 / settings.xml您的文件應如下所示

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

因此,在您的AWS實例中,您需要運行一個tomcat服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM