目录
服务器版本信息:腾讯云服务器Linux CentOS7.6.0
1、配置环境
在开始操作前,要先在Linux配置好环境(JDK和tomcat),如果还没配置好环境,可以参考一下下面的链接:
Linux下yum安装jdk和wegt下载tomcat
2、idea打包web项目
首先打开自己的项目,然后点击【File】->【Project Structure】菜单,或使用Shift+Ctrl+Alt+S快捷键,或在软件右上角有个图标,点击,打开【Project Structure】窗口。如下图:
点击+后,找到Web Application:Archive-Empty
如果web文件夹下没有META-INF,就按照下面操作的第三步创建,如果有,创建META-INF的操作就可以省去
点击创建后,在弹出的选择框找到这个项目的web,选中后直接点击确定
然后点击+,选中Directory Content,找到刚才的web文件夹,选中并确定
就变成下面这样子了
然后创建文件夹classes
选中刚才创建的classes文件夹,点击+,选中Module Output,然后在弹出的框下直接点OK就行
就变成下面这样子了
然后就可以在右下角点击Apply和OK了,结束war包的配置
然后在项目界面选择 【Build- Build Artifacts】
然后就弹出下面的,选择刚刚创建的war名,点击build编译执行打包,就可以去刚才设置的输出路径那里查看了
3、部署到Linux的tomcat上
更新:在网上查看到tomcat部署web项目的目录结构
book为项目目录:
jsp存放.jsp文件
src存放.java源文件。源码可以不用放上tomcat,只需要放.class文件就好了
index.html为普通的页面WEB-INF存放web项目私有属性,外部不可访问
classes存放.java文件编译之后的.class文件
lib存放项目需要用到的第三方包。
web.xml为web项目配置文件
然后找到刚才的war包,然后将war包放到tomcat的webapps目录下,tomcat会自动将war包解压在webapps里
我在网上看到的教程都是到这里就可以了,就可以直接输入http://公网ip:端口好/war包名/访问路径 就可以访问了(包括最下面的参考链接,其打包的是整个项目,但是我打包后也是一样,访问会出现404)。
所以我就只好继续下去,经过参考eclipse打包后部署到tomcat上后的项目结构,总算成功了
这是原来按照上面步骤部署到tomcat的项目结构
下面的是eclipse部署到tomcat的项目结构
于是我就将我刚才创建的项目的classes文件夹移到WEB-INF目录里,直接在test文件夹下执行命令
mv classes/ WEB-INF/
然后重启一下tomcat
#这里我是配置了环境变量的
shutdown.sh
startup.sh
#没有配置环境变量就到自己的tomcat目录下执行
cd bin/
./shutdown.sh
./startup.sh
然后输入路径就可以访问了(http://ip:端口号/war包名/访问路径)
4、总结
在这次部署的过程中,我耗费了很长时间,查看了网上很多教程都没办法正常显示,很纳闷为什么我直接将整个项目进行打包成war包后,部署到tomcat下,然后就一直出现访问404,查了很多资料,全都不行。除此之外,这次部署,发现eclipse的打包过程竟然比idea的简单的多了,我在ecplise打包直接一次就可以部署,而在idea,要配置好多东西,而且还一直出错。幸好本人秉着不放弃不抛弃的精神,耗费九牛二虎之力总算把它给搞定了,但感觉对其还是有很多不解。。。。
最后,还是说一句,不喜勿喷,如果有帮助,就随手点个赞呗。谢谢
参考链接:https://blog.csdn.net/lhp3000/article/details/78994010
https://blog.csdn.net/LittleSeedling/article/details/105868675