程序部署到服务器的错误总结
来源:互联网 发布:aⅴ淘宝在线视频超碰 编辑:程序博客网 时间:2024/06/05 08:41
在本地开发javaEE程序,将程序部署测试完毕,部署到服务器上,同样的路径、同样的操作系统环境,但是遇到一些问题,总结记录如下:
1.文件访问权限问题
网页访问时候,报错org.apache.jasper.JasperException: java.lang.IllegalStateException: No output folder
进入tomcat的安装目录下的logs目录下,查看日志文件,发现
java.io.FileNotFoundException: /usr/lib/apache-tomcat-8.5.14/logs/localhost_access_log.2017-05-12.txt (Permission denied)
最后定位是:tomcat下面的文件访问权限
使用chmod或者chown、chgrp改变文件访问权限,记得命令后紧接着加上-R参数,对目录下的所有文件及目录全部修改访问权限。
假设最初使用sudo开启tomcat的服务,那么查看work目录
ls -alh /usr/lib/apache-tomcat-8.5.14/work/Catalina/localhost/
work目录下的,如果开始时候,使用root权限部署运行的,那么将看到要运行的程序的owner以及所属于的group是root,需要修改访问权限,否则换成一般用户重新启动tomcat服务,也将无法成功运行。
类似地,可能页面上也有这种错误提示
org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.in_jsp
可使用同样办法修改。
jsp文件都被编译成一个个servlet存储在tomcat服务器的 $CATALINA_BASE\work[engine name][host name][webapps name]下面。
2.MySQL
2.1 Table ‘performance_schema.session_variables’ doesn’t exist
我的MySQL版本:mysql Ver 14.14 Distrib 5.7.14, for Linux (x86_64) using EditLine wrapper
hibernate连接数据库时,无法打开连接,原因是
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘performance_schema.session_variables’ doesn’t exist
解决办法
登录进入到mysql环境中,如以root用户登录
mysql -u root -pmysql> set @@global.show_compatibility_56=ON;
另外看到这种办法也行
mysql_upgrade -u root -p –force
但是我执行时候,报错了,无法完成此操作,原因没有找。
2.2 Communications link failure Last packet sent to the server was ×××× ms ago
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure Last packet sent to the server was ×××× ms ago
查看
mysql> show global variables like 'wait_timeout'; +---------------+-------+| Variable_name | Value |+---------------+-------+| wait_timeout | 28800 |+---------------+-------+1 row in set (0.00 sec)
修改wait_timeout的值,可以参考网页3。
或者参考网页4,在hibernate的数据库连接中加上以下内容
<property name="timeBetweenEvictionRunsMillis" value="64800" /><property name="testWhileIdle" value="true" /><property name="validationQuery" value="select 1 from dual" /><property name="testOnBorrow" value="true" />
3.jvm地址已经被占用或者端口占用
启动MySQL,报地址被占用或者端口被占用了,需要kill掉那个占用的进程
查看进程的id
ps -ef | grep NAME
查看占用的端口
netstat -nap | grep pid
关闭(中止)进程
kill 进程ID
参考网页
[1]Table ‘performance_schema.session_variables’ doesn’t exist
http://stackoverflow.com/questions/31967527/table-performance-schema-session-variables-doesnt-exist/33262719
[2] Table ‘performance_schema.session_variables’ doesn’t existhttp://blog.csdn.net/ppppfly/article/details/50643059
[3]MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:http://blog.csdn.net/cynhafa/article/details/19676865
[4]mysql dbcp Caused By: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received
http://www.cnblogs.com/dingyingsi/p/5711801.html
[5]Java异常解决总结001-org.apache.jasper.JasperException: java.lang.IllegalStateException: No output fold
http://blog.csdn.net/yanjingzhaohuole/article/details/49282945
- 程序部署到服务器的错误总结
- tomcat程序部署到weblogic遇到的问题总结:
- 从eclipse中导入myeclipse项目运行是出现“不能部署到服务器”的错误。
- 部署Java Web程序到Tomcat服务器上出现的log4j问题解决
- 如何远程debug部署到widefly/JBoss服务器上的J2EE程序
- Nginx服务器中 Laravel 项目部署到目录 404错误
- laravel项目SVN部署到服务器404错误
- maven工程部署到tomcat服务器过程中遇到的问题总结
- tomcat部署weblogic服务器项目到本地执行的总结整理
- 部署 ShowDoc 到自己的服务器
- 将本地Java程序部署到linux服务器并执行
- 将java程序部署到Linux服务器上
- MAVEN的部署到NEXUS 400错误
- .net服务器程序部署的问题汇总
- 将项目部署到阿里云服务器ECS总结
- 在服务器上部署javaweb的总结
- 远程部署服务器遇到的问题总结
- vss 部署到服务器
- C#获取系统当前日期时间
- 处理Linux中的^M字符
- Serv-u使用方法
- 使用VisualGDB在windows上编写linux程序(centos)遇到的问题
- APICloud技巧 | 用户登录与登出的实现方法
- 程序部署到服务器的错误总结
- 在实际开发中,调试可能遇到的BUG汇总一
- 做个简单的粒子效果
- openstack安装glance-api服务启动失败
- 五星龙Z一颗 《从原型模式的使用方式不难推断出,原型模式常使用于以下场景》
- USACO
- 8、解决Linux无法上网的各种问题
- 如何通过sea.js进行模块化开发
- 在Java中使用注释