目录

如何将项目放在服务器上,服务器上如何部署项目

目录

如何将项目放在服务器上,服务器上如何部署项目?

顾名思义,将项目部署到服务器上,从某种程度上就是将资源放在服务器指定的文件下,放对了位置就等于部署成功了。下面就具体讲解一下如何部署maven多模块工程到公网服务器上。PS:笔者服务器选用某云服务器(服务器只要是公网运行的就可以了!

1、对maven项目进行打包,文件格式为war包

我们在使用SSM框架进行构建项目的时候, 父工程的打包方式是pom,common工程的打包方式是jar,主要的项目工程是我们的聚合工程,打包方式是pom, 聚合工程中又包括dao、pojo、interface、service、web工程,其中前四个打包方式都为jar,web工程的打包方式为war,那么我们的思路就很清晰了——就是将web工程打包出来。下图给出项目文件的整体架构图。

https://i-blog.csdnimg.cn/blog_migrate/f4a267ea00184106987749ce84228db0.jpeg

项目结构图

对父工程、common工程、项目工程文件进行安装,安装方法就是对工程进行右键—> Run as —> Maven install,操作过程如下图所示:

https://i-blog.csdnimg.cn/blog_migrate/1dbcd26f7050c3399f4f17c339764b83.jpeg

安装maven项目

如果项目没有同步更新的话,在这一步可以对项目行update,具体操作过程可以见下图。

https://i-blog.csdnimg.cn/blog_migrate/250fa28ec836103e4be8b04254029b9f.jpeg

更新maven项目

安装成功后在console框中可以看到安装成功之后的war包的路径,如下图所示。

https://i-blog.csdnimg.cn/blog_migrate/0e1ce60379e69023d319640a03893471.jpeg

war包所在文件夹

从计算机中打开这个路径,就会看到一个web工程的war包,我们可以记住这个路径,然后登陆上我们的云服务器。项目需要部署到tomcat容器中,因此需要在服务器上安装tomcat容器,运行tomcat的前提还是需要保证服务器上具有jdk环境。因此还需要在服务器上安装jdk,安装jdk以及tomcat容器的步骤实质非常简单,配置环境变量的步骤稍稍有些复杂,如果有不清楚的读者还不清楚怎么安装,可以自行百度或者评论留言,如果有必要我也会一步一步地将安装过程整理成一个帖子发出来。

https://i-blog.csdnimg.cn/blog_migrate/af4892288895d599ebb3867a0e022544.jpeg

打包后的war文件

在此假设我们的服务器已经有了jdk环境以及tomcat容器。将我们上步的war包通过文件上传工具上传到我们的服务器环境,然后进入服务器中的tomcat安装包中。

https://i-blog.csdnimg.cn/blog_migrate/e773626c0b15fc2bdc2ef0643c9d90c4.jpeg

tomcat安装包

将上传到服务器的war包复制到tomcat的webapps目录下(使用cp命令进行复制),复制之后的结果如下图所示:

https://i-blog.csdnimg.cn/blog_migrate/8f4467b12b34970f7a4174bc28801d9e.jpeg

复制成功自动解压文件

我们退回到启动bin目录下,也可以直接输入命令(这种需要我们对tomcat的安装包目录比较熟悉后使用),启动之后我们可以查看tomcat的启动日志

//启动tomcat的命令 进入bin目录下 运行startup.sh文件(假设我们目前在webapps目录下)

../bin/startup.sh

//查看tomcat启动日志的命令(假设在webapps目录下)

tail -f ../logs/catalina.out

看到如下的结果说明我们的tomcat启动成功:

https://i-blog.csdnimg.cn/blog_migrate/44ad7ce4845855c17b0be0aafed84380.jpeg tomcat启动成功

在浏览器中验证服务是否正常启动后台,在地址栏中输"公网ip:端口号(默认8080,可以自行设置端口80)/ 工程名/ controller文件下请求的路径",成功如下图所示。写到这里,说明我们的后台服务已经能够正常启动,相对于一个前后端分离的项目,日后我们只需对后台进行维护和添加相应的服务,前端可以根据自己的需求进行请求服务,不受距离限制,保证网络即可。在整个配置过程中笔者还遇到一些其他的问题,但都不是很难受的问题,只要我们认真看启动日志,就能够解决一多半的问题。

在此期间我遇到一个无法连接jdbc的问题,问题描述很清晰:“can‘t not connect the jdbc”。遇到这种问题首先很容易想到是不是网络问题,但是对于本项目而言,数据库是使用的公网的oracle数据库,同一个服务器上的应该不存在这种问题,想想既然会在同一台机器那么我们是不是可以使用localhost或者127.0.0.1这种连接地址进行连接数据库(因为数据库相对于服务器来说应该说是本地环境),但是试了一下发现还是不可以,但是我觉得我想的道理应该没错,可能受于云服务器的安全限制。

于是我又改回来原来的ip。使用本地服务器连接公网数据库,发现还是同样的错误,于是我就想到了公网的数据库很有可能没有跑起来,再然后我去服务器上查看oracle的进程以及端口都没有开启监听,使用navicat for oracle连接数据库都显示没有开启监听问题,这种更加确定了问题的所在–数据库没有启动。

于是在服务器上又开始开启数据库,由于第一次在云服务器上操作oracle数据库显然也是遇到了许多困难,对一些命令不熟悉不知道如何开启监听,也害怕哪个命令会搞坏这个东西,但最终还是摸索开启了数据库(如果大家这部分还有疑问的话可以评论留言,我有空还是会把这部分的经验步骤写出来,虽然不可能面面俱到的讲解,但起码我们有了解决问题的能力!),最终数据库连接成功。至此mavne多模块项目也就成功部署到了云服务器上!

https://i-blog.csdnimg.cn/blog_migrate/4a7856bb8ea5a71a4de0ad3a26dd6786.jpeg