windows tomcat项目迁移到Linux上的配置与注意问题
前一段时间一直在忙windowstomcat项目迁移到Linux上的工作,其中遇到很多很bug的问题,叫人没有脾气!现在这个项目的迁移总算是圆满结束了,今天我把在迁移中环境配置和可能遇到问题的处理方法与大家齐分享!
一、运行环境的配置
◆JDK的配置
1.从java.sun.com网站上下载JDK,注意是要Linux平台的。
这里我下的是jdk-6u20-linux-i586.bin,不是RPM的包。
2.在终端用root身份操作,将jdk-6u20-linux-i586.bin文件复制到/opt下面,复制时使用命令#cpXX/opt/
3.提权操作,使用命令#chmoda+xjdk-6u20-linux-i586.bin
4.然后#./jdk-6u20-linux-i586.bin。按空格阅读用户协议,最后输入”yes”来继续安装。
5.设置环境变量
在最后面加入
如果只有当前用户使用JDK,
#vi/etc/profile
#setjavaenvironment
JAVA_HOME=/opt/jdk1.6.0_20
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
exportJAVA_HOMECLASSPATHPATH
保存退出。
要使JDK在所有的用户中使用,可以这样:
vi/etc/profile.d/java.sh
在新的java.sh中输入以下内容:
#setjavaenvironment
JAVA_HOME=/opt/jdk1.6.0_20
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
exportJAVA_HOMECLASSPATHPATH
保存退出,然后给java.sh分配权限:#chmod755/etc/profile.d/java.sh
6.检查环境变量是否配置成功
#echo$JAVA_HOME
#echo$CLASSPATH
#echo$PATH
检查JDK是否安装成功。
#java–version
如果看到JVM版本及相关信息,即安装成功!
◆TOMCAT的配置
1.下载Tomcat
从网站http://tomcat.apache.org/下载Tomcat,如apache-tomcat-5.5.29.tar.gz
2.解压文件
使用解压命令#tarzxvfapache-tomcat-5.5.29.tar.gz
为了方便,将生成的文件修改为tomcat-5.5.29
#mvapache-tomcat-5.5.29tomcat-5.5.29
3.将文件拷贝到/opt/文件夹下
#cp–Rtomcat-5.5.29/opt/
4.设置环境变量
#vi/etc/profile/
在文件末尾加入
#settomcatenvironment
exportJAVA_HOME=/opt/jdk1.6.0_20
exportCLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:.
exportCATALINA_HOME=/opt/tomcat-5.5.29
exportPATH=$JAVA_HOME/bin:$PATH
使用命令#source/etc/profile让修改后的文件立即生效。
5.启动和关闭tomcat
#cd/opt/tomcat-5.5.29/bin
启动tomcat服务#./startup.sh
打开浏览器http://localhost:8080,看是否安装成功。
关闭tomcat服务#./shutdwon.sh
◆Mysql据库.sql文件导入导出
1.sql文件导出:
先用cmd到mysql的bin目录下:
如:
1)E:\programfiles\MySQL\MySQLServer5.0\bin>下
2)E:\programfiles\MySQL\MySQLServer5.0\bin>mysqldump-uroot-puserurl>links.sql
3)Enterpassword:123456
4)会自动在E:\programfiles\MySQL\MySQLServer5.0\bin>---------目录下生成links.sql文件
2.sql文件导入:
C:\mysql\bin>mysql-u用户名-p数据库名<c:/test.sql(source"c:\adsense.sql")
中间的空格是一个空格位。
例如:
var\lib\mysql>mysql-uroot-pinfo<c:/myro.sql
Enterpassword:****
稍等一会,就可以导入数据表。
二、操作中遇到的问题
◆数据库方面
在将.sql文件执行导入到info数据库的时候可能会报出如下错误:
ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:YES)
解决办法:
#servicemysqldstop
#mysqld_safe--user=mysql--skip-grant-tables--skip-networking&
#mysql-urootmysql
mysql>UPDATEuserSETPassword=PASSWORD('123')whereUSER='root';
mysql>FLUSHPRIVILEGES;
mysql>quit
#servicemysqldstart
#mysql-uroot-p
Enterpassword:<输入新设的密码123>
mysql>
②在将.sql文件导入到info数据库时可能会报如下错误:
ERROR1005(HY000)atline25:Can'tcreatetable'./info/category.frm'(errno:121)此错误的原因是自己以前测试时建过info数据库,当时删除时是通过手动直接删除/var/lib/mysql中info数据库。这样做以为是没多大问题,实际上没有删除完全。
解决办法:
再次创建一个info数据库,然后通过命令行执行删除dropdatabaseinfo;
③登陆mysql数据库时可能会报如下错误:
ERROR2002(HY000):Can'tconnecttolocalMySQLserverthroughsocket'/var/lib/mysql/mysql.sock'(2)
解决办法:
启动mysql的守护进程,执行servicemysqldstart就行了
④mysql数据库表名大小写敏感问题:
解决办法:
1.用root登录,修改/etc/my.cnf
2.在[mysqld]下加一行:lower_case_table_names=1
3.重启数据库
⑤数据库乱码问题:
解决办法:
ⅰ、MYSQL创建数据库时候直接指定编码和排序规则:
UTF8:createdatabase`info`defaultcharactersetutf8collateutf8_general_ci;
ⅱ、改变系统默认字符集,改变如下:
etc/my.cnf中[mysqld]字段后加入如下语句default-character-set=gb2312
◆tomcat方面
①tomcat的server.xml配置问题:
当appBase指向info项目时tomcat无法正常启动。
解决办法:
将sever.xml中的配置修改如下:
<Hostname="localhost"appBase="webapps"
unpackWARs="true"autoDeploy="true"
xmlValidation="false"xmlNamespaceAware="false">
<Contextpath=""docBase="/opt/tomcat-5.5.29/project/info"debug="0"reloadable="true"></Context>
.......
</Host>
②Tomcat中连接池的配置问题:
<Context>
<!--Defaultsetofmonitoredresources-->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!--UncommentthistodisablesessionpersistenceacrossTomcatrestarts-->
<!--
<Managerpathname=""/>
-->
<Resourceauth="Container"name="jdbc/DBD"
type="javax.sql.DataSource"password=""
driverClassname="org.gjt.mm.mysql.Driver"maxIdle="2"maxWait="5000"
username="rooturl="jdbc:mysql://localhost:3306/info?useUnicode=true&characterSetResults=UTF-8"
maxActive="8"removeAbandoned="true"removeAbandonedTimeout="10"
logAbandoned="true"/>
</Context>
三、环境配置存放目录明细
①jdk:放在/opt/jdk1.6.0_20目录下
②tomcat:放在/opt/tomcat-5.5.29目录下
③mysql:/var/lib/mysql--数据库目录
/usr/bin/mysql--mysqladminmysqldump等命令
/etc/rc.d/init.d--启动脚本文件mysql的目录
/usr/share/mysql--mysql.server命令及配置文件
四、启动、关闭服务的命令
①启动mysql服务:servicemysqldstart
关闭mysql服务:servicemysqldstop
②启动tomcat服务:先进入/opt/tomcat-5.5.29/bin执行./startup.sh
关闭tomcat服务:先进入/opt/tomcat-5.5.29/bin执行./shutdown.sh