作为一名资深(fu xiu)程序员,永远不想向IDEA低头可能是我对MyEclipse最大的尊重。最近使用SSM框架搭建了一个项目后端。但由于开发者不能在同一个局域网,因此后端需要部署到公网服务器上。但与普通javaweb项目不同的是,该项目是一个基于maven的多模块项目。其实一开始我还担心自己不知道如何部署,而且网上查到的资料也只是零星的。通过网上的一些想法和半天的摸索,终于成功将后端部署到服务器上。下面将详细讲解如何将Maven多模块项目部署到公共服务器上。 PS: 作者选择云服务器作为服务器(服务器只需运行在公网即可!)
1、对maven项目进行打包,文件格式为war包当我们使用SSM框架构建项目时,父项目的打包方式是pom,普通项目的打包方式是jar,主项目工程是我们的聚合项目,打包方式是pom,而聚合项目还包括dao、pojo、interface、service、web项目,前四种打包方式是jar,而web项目的打包方式是war,那么我们的思路很明确——就是打包web项目。下图展示了项目文件的整体架构。
项目结构图安装父项目、公共项目和项目项目文件。安装方法是右键项目---Run as---Maven install。操作流程如下图所示:
安装maven项目。如果项目没有同步更新,可以在这一步更新项目。具体操作流程见下图。
更新后的maven项目安装成功后,在控制台框中可以看到安装成功后的war包的路径,如下图所示。
从你电脑上war包所在的文件夹打开这个路径,你会看到web项目的war包。我们可以记住这个路径,然后登录我们的云服务器。项目需要部署到tomcat容器中,所以服务器上需要安装tomcat容器。运行tomcat的前提是保证服务器上有jdk环境。因此,需要在服务器上安装jdk。安装jdk和tomcat容器的步骤本质上非常简单。配置环境变量的步骤稍微复杂一些。如果有读者不清楚如何安装,可以百度或者留言。如果有的话,如果有必要,我会把安装过程一步步整理成帖子。
打包的war文件假设我们的服务器已经有jdk环境和tomcat容器。通过文件上传工具将我们上一步得到的war包上传到我们的服务器环境中,然后在服务器中进入tomcat安装包。
tomcat安装包
我们回到启动bin目录,也可以直接输入命令(这需要我们熟悉tomcat安装包目录)。启动后,我们可以查看tomcat的启动日志。
//启动tomcat的命令进入bin目录,运行startup.sh文件(假设我们当前在webapps目录)./bin/startup.sh //查看tomcat启动日志的命令(假设我们在在webapps目录下) tail -f ./logs/catalina.out 看到如下结果说明我们的tomcat启动成功:
Tomcat启动成功。在浏览器中验证服务是否正常启动后台。在地址栏中输入‘公网ip:端口号(默认8080,可以自己设置80端口)/项目名称/请求的controller文件下路径’。成功如下。如图所示。写到这里说明我们的后端服务已经能够正常启动了。相比于前后端分离的项目,以后我们只需要维护后端,添加相应的服务即可。前端可以根据自己的需求请求服务,无论距离远近。限制,保证网络就可以了。笔者在整个配置过程中还遇到了一些其他问题,但都不是让人难受的问题。只要仔细阅读启动日志,就可以解决一半以上的问题。
这期间遇到了无法连接jdbc的问题。问题的描述非常清楚:“无法连接jdbc”。遇到此类问题时,很容易首先想到是否是网络问题。然而,对于这个项目来说,数据库是公网的Oracle数据库。同一个服务器上不应该存在这个问题。考虑一下,因为它将位于同一服务器上。机器,我们是否可以使用localhost或者127.0.0.1连接地址来连接数据库(因为数据库应该说是相对于服务器的本地环境),但是尝试之后发现还是不行,但我觉得我觉得是对的。应该是正确的,可能是受到云服务器的安全限制。
于是我又改回原来的IP。我用本地服务器连接公网数据库,发现同样的错误,于是我想可能是公网数据库没有运行。然后去服务器查看Oracle的进程和端口没有被监控,于是我用navicat进行Oracle连接数据库时显示没有开启监控。这进一步证实了问题——数据库没有启动。
于是我又开始打开服务器上的数据库。由于是第一次在云服务器上操作Oracle数据库,显然遇到了很多困难。有些命令不熟悉,不知道如何开启监控。我也担心哪个命令会损坏这个东西,但最终我还是尝试打开数据库(如果你对这部分还有疑问,可以留言,我会在以后写下这部分的经验步骤)虽然不可能把一切都解释清楚,但至少我们有能力解决问题!),最后数据库连接成功。至此,mavne多模块项目已经成功部署在云服务器上!
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/7121.html
用户评论
真的!很多人都卡在这个环节,太实用啦!
有20位网友表示赞同!
终于看到详细的服务器部署教程了,好久想学呢!
有17位网友表示赞同!
部署项目好像很麻烦的样子,这篇文章能解决我的疑问吗?
有10位网友表示赞同!
分享一下你的经验,方便新手跟着操作更快上手吗?
有19位网友表示赞同!
我还在用本地环境开发,看样子得开始学习服务器部署了!
有17位网友表示赞同!
服务器搭建真的需要多少成本呢?这篇文章里有提到吗?
有17位网友表示赞同!
部署的步骤看起来很详细,应该能让我一步步顺利完成吧!
有19位网友表示赞同!
希望能解释清楚一些比较专业的技术术语,这样我更容易理解。
有14位网友表示赞同!
现在有很多在线平台可以帮助我们部署项目,这篇文章还会介绍吗?
有17位网友表示赞同!
我是菜鸟学编程,这种教程对我来说太基础了吧?
有18位网友表示赞同!
部署项目真是一件很重要的技能! 以后得好好学习。
有11位网友表示赞同!
学习服务器部署能让我更好的理解项目运营吧?
有11位网友表示赞同!
希望这篇文章能够涵盖不同类型的项目部署方法。
有10位网友表示赞同!
看了标题就很有期待,相信可以学到很多宝贵的知识!
有15位网友表示赞同!
分享下你使用过的最佳服务器平台和配置建议!
有9位网友表示赞同!
我已经有过一些服务器部署经验了,有没有更高级的教程呢?
有11位网友表示赞同!
这篇文章应该能帮助我解决目前遇到的部署问题吧?
有8位网友表示赞同!
期待这篇教程能让我快速上手服务器部署!
有8位网友表示赞同!