系统环境及相关安装包: CentOS6.5 64位系统 tomcat6 :apache-tomcat-6.0.39.tar.gz mysql5.1.17 :rpm包 jdk1.6 :jdk-6u29-linux-x64.bin jdbc :mysql-connector-java-3.1.13-bin.jar
1、安装mysql,rpm安装,最好是配置好YUM源,直接yum -y install mysql mysql-server lsof -i:3306 查看数据库是否启动。 库中的操作: 创建库: show databases; create database news; 为连接库的用户赋权:grant all privileges on *.* to root@localhost by identified "123456"; #localhosts可换为127.0.0.1为本地访问用户 或是‘%’为远程访问用户 ; 刷新生效: flush privileges;
2、配置java环境:jdk1.6
首先卸载系统原有的JDK;查看版本: java -version 过滤已安装的版本:rpm -qa | grep gcj rpm -qa | grep jdk卸载: rpm -e jdk重装JDK1.6: chmod u+x jdk-6u29-linux-x64.bin ./jdk-6u29-linux-x64.bin 解压之后将对应的jdk目录中的文件全部拷贝到/usr/java/目录下;将java环境变量写入到/etc/profile文件中,可随系统生效;export JAVA_HOME=/usr/java >>/etc/profileexport PATH=
3、配置tomcat 将tomcat的源文件 apache-tomcat-6.0.39.tar.gz解压缩到对应的目录,并重新命名; tar zxvf apache-tomcat-6.0.39.tar.gz -C /usr/local/ cd /usr/local/ mv apache-tomcat-6.0.39 tomcat 配置相关文件: cd /usr/local/tomcat/conf Catalina context.xml tomcat-users.xml catalina.policy logging.properties web.xml catalina.properties server.xml 需要修改连接相关的文件context.xml,其他文件可使用默认的配置即可; 在context.xml文件的</context>之前插入以下修改的内容: <Resource name="datasource" auth="Container" type="javax.sql.DataSource" url="jdbc:mysql://192.168.2.52:3306/mobilenews" />
#type连接类型;driverClassName连接库的驱动jdbc;url要连接的库,此处我的工程所使用的库名为mobilenews; 接着将工程放到对应的目录/usr/local/tomcat/webapps/
4、此处比较重要的一步,JDBC连接驱动的安装: 需要将和数据库相匹配的JDBC驱动程序拷贝到相应的库里; /usr/local/tomcat/lib/ /usr/local/tomcat/webapps/News/..../lib/ 工程中的库; 接下来可以启动tomcat程序: /usr/local/tomcat/bin/startup.sh 查看监听状态:lsof -i:8080
再使用IE浏览器访问自己的工程项目; 同时查看库的监听状态,如果变为下面这样,那么整个jsp环境就配置成功了 lsof -i:3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 20232 mysql 10u IPv4 73197 0t0 TCP *:mysql (LISTEN) mysqld 20232 mysql 29u IPv4 73368 0t0 TCP localhost:mysql->localhost:57730 (ESTABLISHED) mysqld 20232 mysql 30u IPv4 73479 0t0 TCP localhost:mysql->localhost:57731 (ESTABLISHED) mysqld 20232 mysql 31u IPv4 73628 0t0 TCP 192.168.2.51:mysql->192.168.2.20:52728 (ESTABLISHED) mysqld 20232 mysql 32u IPv4 73633 0t0 TCP 192.168.2.51:mysql->192.168.2.20:52729 (ESTABLISHED) mysqld 20232 mysql 33u IPv4 73636 0t0 TCP 192.168.2.51:mysql->192.168.2.20:52730 (ESTABLISHED) mysqld 20232 mysql 34u IPv4 73682 0t0 TCP 192.168.2.51:mysql->192.168.2.20:52748 (ESTABLISHED) mysqld 20232 mysql 35u IPv4 73740 0t0 TCP 192.168.2.51:mysql->192.168.2.20:52760 (ESTABLISHED) mysqld 20232 mysql 38u IPv4 73789 0t0 TCP 192.168.2.51:mysql->192.168.2.253:4895 (ESTABLISHED) mysqld 20232 mysql 39u IPv4 73792 0t0 TCP 192.168.2.51:mysql->192.168.2.253:4897 (ESTABLISHED) java 20295 root 150u IPv6 73367 0t0 TCP localhost:57730->localhost:mysql (ESTABLISHED) java 20295 root 163u IPv6 73478 0t0 TCP localhost:57731->localhost:mysql (ESTABLISHED)
错误排查思路:
如果出现500错误,按提示的内容来分析: 一般错误排查步骤:
后端数据库是否启动起来了,context.xml文件中配置的库名,用户名和密码是否和工程中所使用的一致! 并确认用户是否已在数据库中赋过相应的权限。JDBC连接文件是否和数据库版本相匹配;本人是找了很多相关的错误处理文档,但是大多数说得很不清晰,而且多数是抄来抄去的,很感叹国内的开源事业。
补充:
配置文件context.xml中用户名和密码
<Resource name="datasource" auth="Container" type="javax.sql.DataSource" maxActive="80" maxIdle="20" maxWait="-1" username="abc" password="abc2013" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.2.51:3306/mobilenews" /> 此处,我使用的连接库用户为abc,密码为abc2013,都要在数据库中赋权限的。