阿里云ECS部署maven项目

1、配置JDK和tomcat: https://www.cnblogs.com/congcongdi/p/11227771.html

2、使用eclipse打包项目

  1. 在项目上点击右键-->run as-->maven clean,先清理掉之前的war包,成功标志BUILD SUCCESS
  2. 打包项目

    方法一:右键项目-->Export-->WAR FILE,选择放war包的路径即可

    

  方法二:右键项目-->run as -->maven install

      (此处网上有说用maven build..的,然后在goals出输入clean compile package来打包。试过一次结果发现,下次清理时target文件夹下空了,造成项目无法运行了。当然也可能操作有误吧,没研究)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3、项目部署

  将war包通过xftp工具上传到服务器tomcat的webapps下面,重启tomcat,正常情况下应该就可以通过网址http://公网ip:8080/项目名称访问了。

  此处还涉及到一个云数据库RDS的链接,打包之前改一下数据库连接(两种情况),并且需要把服务器的IP加入到数据库的访问白名单中

  1、直接使用数据库的外网地址

  2、如果数据库和服务器在一个区域没,且确保用的同一个路由器,就可以直接通过内网地址访问

 

4、问题总结(无法正常打开项目的原因)

  1、请求不到项目

解决办法:在tomcat的server.xml中的host里加以下配置,然后重启tomcat

<Context source="org.eclipse.jst.jee.server:项目名" reloadable="true" path="/项目名" docBase="项目名"/>

  2、关于tomcat的启动关闭   

cd ../tomcat/bin
./startup.sh        //启动
./shutdown.sh     //停止

  shutdown.sh有时候可能无法正常关闭tomcat进程,注意查看tomcat进程状态

ps -ef|grep tomcat

如果有多个进程,同样会造成无法访问。而且在tomcat的catalina-日期.log中就会看到如下错误:

 3、项目(jeecg)问题造成无法访问

  查看tomcat的logs目录下的项目日志,问题记录:

这个问题嘛,其实挺懵逼的,因为潜意识里觉的本地能正常运行,项目不会有问题的,看日志才发现项目运行出错了。至于这个错误嘛,不是太懂,不过经过与度娘的各种纠缠终于遇到有人跟我一样的错误:

https://stackoverflow.com/questions/20849080/java-lang-nosuchmethoderror-org-springframework-scheduling-quartz-schedulerfact

应该是我的代码里用了两种定时器也可能是服务器里有Quartz而版本跟项目里的不一样,起冲突了吧,所以在项目的的pom文件里加了一个引用,貌似限制了使用pom中的Quartz版本

然后重新打包放到云服务器上可以运行了。

 附带拓展:

1、关于server.xml的参数介绍:

2、servlet版本与tomcat版本对应关系,各版本web.xml头信息写法

posted @ 2019-07-24 19:16  congcongdi  阅读(752)  评论(0编辑  收藏  举报