本地Tomcat部署正常部署到服务器后404
项目部署在本地Tomcat可以正常访问。直接将war包放到云服务器tomcat中,结果报错404,各种排错后,终于找到解决方案。
一 问题描述
项目使用的开发工具是IntelliJ IDEA,打包成war包,在本地进行测试,页面能够正常打开并且测试结果符合预期。将该项目上传到阿里云服务器的tomcat的webapps目录中,再进行测试,发现404错误,不能正常定位到程序页面。
二 问题分析
- 首先看看你所需的端口在服务器上安全组有没有放通。
- 放通完端口后要更新防火墙,我这边提供两种Linux镜像的方式,其它镜像自行网上搜索。
CentOS:firewall-cmd --reload
Ubuntu:sudo ufw reload
- 看看Tomcat的报错日志是什么
然后这边的报错日志大概为:
openFile(null,true) call failed.java.io.FileNotFoundException Permission denied
大体意思是没有写入文件的权限,由于项目做了日志文件的记录,写到某个目录。
因为是在面板直接启动的,所以没有这个权限,我们以root权限去开启Ttomcat。以root身份连接服务器,然后到你Tomcat所在的bin目录,执行下面这行代码:
nohup ./startup.sh &
我们像这样挂住进程启动Tomcat,才能保证当关掉服务器连接时不停止服务。附上停止Tomcat服务命令:
./shutdown.sh
【本地Tomcat部署正常部署到服务器后404】至此,服务正常启动,页面能够正常打开,功能也都正常。
推荐阅读
- Linux下面如何查看tomcat已经使用多少线程
- Beego打包部署到Linux
- 私有化轻量级持续集成部署方案--03-部署web服务(下)
- 探索免费开源服务器tomcat的魅力
- Flutter的ListView
- Spring|Spring Boot部署到Resin遇到的问题
- Tomcat8带来的坑
- 如何在阿里云linux上部署java项目
- maven使用tomcat7插件编译jsp出错
- Xshell5|Xshell5 远程连接本地虚拟机Ubuntu16