我正在创建一个maven3
,tomcat7
,Spring4
java网络应用。我将我的应用程序部署在Amazon AWS Ec2
实例上。我目前的工作流程如下
git push
我对bitbucket帐户的更改。ssh
进入我的Ec2实例。git pull
我对bitbucket的更改。kill -9
当前运行在Ec2上的tomcat进程mvn clean tomcat7:run
以重新启动服务器,以便应用更改。服务器在端口8080上运行,我已经设置了iptables以将端口80转发到8080.这一切都运行良好。
但是,在部署tomcat / maven应用程序时,我是一个菜鸟。所以这是我的问题:
这是运行我的Java Web应用程序的最佳方式吗? mvn install
或mvn deploy
是否应该成为某个过程的一部分?
在很多教程中,我看到对server.xml
的引用来配置tomcat,据我所知,我没有server.xml文件,因为tomcat是由maven使用tomcat7插件完全配置的。这是一个问题吗?
最后,如何在不重启tomcat的情况下对我的实时服务器(Ec2实例)进行更改?当我的应用程序是实时服务器停机时间是不可接受的。
我只是在寻找关于这个过程如何在现实世界中运作的一般解释性答案,所以我可以知道我是否正确地做到了。
非常感谢!!
答案 0 :(得分:0)
您仍然可以在〜/ .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放在{{1文件夹(此路径可能会在某些Linux发行版中更改)。然后,您可以随时删除和删除新的.war而无需重新启动tomcat7服务。
答案 1 :(得分:0)