使用宝塔面板部署javaweb项目以及SSL

准备工作:

    一:将javaweb项目打包成war

    二:将数据库文件准备好

    三:准备域名

    四:准备一台已经安装好宝塔面板的服务器

开始:

    1、登录宝塔

    2、安装以下软件:

必要软件

    3、打开java项目管理器-版本管理-安装tomcat9

安装tomcat9

4、回到首页-点击文件-进入tomcat9目录中打开webapps,将里面的所有文件都删除-然后上传以打包好的war项目包-tomcat会自己解压war包

上传war包

5、点击数据库-点击root密码进行修改密码,不然无法添加数据库

修改初始数据库密码

    6、建立数据库

建立数据库

    7、导入数据库

点击导入按钮
导入数据库

    8、创建站点-回到软件商店-点击java项目管理器-项目管理-添加项目

创建站点
查看是否部署成功
映射项目

    9、查看站点并部署SSL

映射项目成功
部署成功

    10、进行访问网站成功!

踩坑:之前我是在按照:【运维】阿里云宝塔面板部署JavaWeb项目 这个教程来安装

安装完成后,由于我的项目中存在定时任务,在启动项目后我发现定时任务被多次执行,刚开始是4次,后来改过了tomcat的配置文件依然还是会执行2次,很头疼,经过了2天2夜的琢磨,终于发现tomcat8由于是自启动,自启动一次有个进程,会执行war包,然后站点开启了tomcat映射后又会执行一次war项目,这就导致项目被实例化2次。后来在java项目管理器中进行部署并将项目类型设置为独立类型即可解决此问题。

踩坑2:由于我的项目是前后端分离并且包含定时任务,在经过五天时间的排查,终于发现部署后同一个定时任务同时执行三次的原因

    首先是因为tomcat内置环境实例化了一次项目

第一次实例化

然后部署独立环境时,部署完成后一定要检查这个tomcat的配置文件,这里的appBase又会指向webapps,又会将项目实例化一次

第二次实例化

还有在配置文件中Context标签下的项目路径又被实例化了一次,然而我们只需要这一个实例化成功就行

第三次实例化

由此可见,为什么tomcat会实例化三次项目,这也就解释了为什么同一个定时任务会同时执行三次!

以上的问题解决后,又来了一个坑!!!

当你部署完成后你很兴奋的去打开网站,然后你就会发现你的网站报错了。直接404!哈哈,哭了TvT!

没办法继续排查吧,终于花了我2天的时间排查出来了问题!

不知道为什么,项目一定要放在tomcat的webapps目录下,不然访问一直是404页面,但是放在了webapps下又会导致定时任务重复执行,经过了一番思想斗争,决定做个大胆的尝试,将已解压的war包,复制到webapps下,然后将包里面还有定时任务的文件删除

就是这个

删除后重启tomcat,结果您猜怎么着?行了!

总结:查到了原因,但是这个解决方式我自己都想不明白这是为什么,但是总归问题是解决了!写个文档留个纪念!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容